Json verisini anahtar-key gibi çevirme

Değerli üstatlar merhaba.
Elimde olan json verisi şu şekilde ;

 {
  "user_id": 23092833316,
  "firstName": "Ahmet",
  "lastName": "Bilmemne",
  "email": "Ahmet@outlook.com",
  "username": "Ahmetce",
  "password": "225c7b7f0cd74e1627fbf7786e58e12625e77a7904f9c13a63217a5a85a2461f:c5b07bae800446bdb5b9f603885593cb",
  "accountKEY": "7US2-AN6I-K8ZR-OFHE-1BGY-45L9",
  "register_date": "Fri Oct 29 23:47:27 2021",
  "accessLevel": "Customer"
 }

Bu veriyi şu hale getirebilmem mümkün mü ?

 "23092833316" : {
    "firstName": "Ahmet",
    "lastName": "Bilmemne",
    "email": "Ahmet@outlook.com",
    "username": "Ahmetce",
    "password": "225c7b7f0cd74e1627fbf7786e58e12625e77a7904f9c13a63217a5a85a2461f:c5b07bae800446bdb5b9f603885593cb",
    "accountKEY": "7US2-AN6I-K8ZR-OFHE-1BGY-45L9",
    "register_date": "Fri Oct 29 23:47:27 2021",
    "accessLevel": "Customer"
    }
 }

Bunu nasıl yapabilirim ?

Kodlarım :

import sqlite3 as sqlite
import Generator
import os
import json
import datetime
import GeneralSecure

# Account Management
class Account:
    # Props
    
    def __init__(self, user_id, firstName, lastName,
                 email,  accessLevel, username, password,
                 accountKEY, register_date):
        
        #, Get & Set?
        self.user_id = user_id
        self.firstName = firstName
        self.lastName = lastName
        self.email = email
        self.username = username
        self.password = password
        self.accountKEY = accountKEY
        self.register_date = register_date
        self.accessLevel = accessLevel
class UserRepository:
    def __init__(self):
            self.users = []
            self.staff = []
            self.IsLoggedIn = False # By default, login is not available.
            self.currentUser = {}
            self.loadUsers()
            
    def loadUsers(self):
        try:
            # Eğer AccInformation.json dosyası varsa...
            if os.path.exists('AccInformation.json'): # True ise......
                with open('AccInformation.json', 'r', encoding='utf-8') as file: 
                    users = json.load(file)
                    for user in users:
                        newUser = Account(
                            user_id = user['user_id'],
                            firstName = user['firstName'],
                            lastName = user['lastName'],
                            email = user['email'],
                            accessLevel = user['accessLevel'],
                            username = user['username'],
                            password = user['password'],
                            accountKEY = user['accountKEY'],
                            register_date = user['register_date'])

                        self.users.append(newUser)
                        
                        #print(self.users)
            else:
                print("""File named 'AcInformation' could not be found.""")
                
        # TODO: We'll check the "except" block in detail later.
        except json.decoder.JSONDecodeError:
            pass
            
    #  We want the type of user information coming from outside to be Account.
    def accountRegister(self, user: Account):
        # USER ID (AUTO)
        igenerator = Generator.Production()
        user.user_id = igenerator.id_generator()
        # Account KEY (AUTO)
        user.accountKEY = igenerator.license_generator()
        # Register Date
        gay = datetime.datetime.now() # Gün / ay / yıl 
        user.register_date = datetime.datetime.ctime(gay)
        
        self.users.append(user)
        self.saveToFile()


    def saveToFile(self):
        list = []
        for user in self.users:
            list.append(user.__dict__)
        with open('AccInformation.json', 'w', encoding='utf-8') as file: # We send the list and save it in the file.
            json.dump(list, file, indent=1)
            
    # Müşteri(customer) Account oluşturma
    def CustomerAccount(self, _firstName, _lastName, _email, _username, _password):
        repository = UserRepository()
        self.password = _password
        convertHashPassword = GeneralSecure.SecurePassword.hash_password(self.password) # Convert to hash pass.
        accessLevel = "Customer"
        customer = Account("1", _firstName, _lastName, _email, accessLevel, _username, convertHashPassword, "1", "1")
        repository.accountRegister(customer)
        
#test
register = UserRepository()
register.CustomerAccount("Ahmet", "Bilmemne", "Ahmet@outlook.com", "Ahmetce", "123456789")

1 Beğeni

Değerli üstatlar, bu sorunu halettim de şunu nasıl düzeltebileceğimi çözemedim

{
 "11895249034": {
  "Ad\u0131 : ": "Ali",
  "Soyad\u0131 : ": "\u00d6zatak",
  "E-Posta : ": "aaa@gmail.com",
  "Kullan\u0131c\u0131 Ad\u0131 :": "Alice",
  "\u015eifresi : ": "cce6a66276ab3bb202f234ea568550b08e7c0540e834274f8a66a77f11e2e496:4d7b441853b4409e95ed85d2f08e2687"
 }
}

Bu türkçe karakter olayını nasıl halledebilirim ?

        data = {
            _userid:{
                "Adı : ":_firstName,
                "Soyadı : ":_lastName,
                "E-Posta : ": _email,
                "Kullanıcı Adı :": _username,
                "Şifresi : ": convertHashpassword
            }
        }
        
        with open("data_file.json", "w", encoding="utf-8") as write_file:
            json.dump(data, write_file, indent= 1)

Değerli üstatlar, bir forumdan çözümünü buldum. Ileride bu sorunu yaşayan arkadaşlar’a yardımcı olabilir diye buraya yazıyorum.
ensure_ascii=False türkçe karakter problemini çözdü.

        with open("data_file.json", "w", encoding="utf-8") as write_file:
            json.dump(data, write_file, indent= 1, ensure_ascii=False)
1 Beğeni