Десериализация списка Json в объекты класса, не способные извлекать атрибутыPython

Программы на Python
Anonymous
Десериализация списка Json в объекты класса, не способные извлекать атрибуты

Сообщение Anonymous »

Я пытаюсь десериализовать свой json-файл в массив объектов моего класса LeagueAcc
Я хочу заполнить список объектами класса LeagueAcc с именем

Код: Выделить всё

accounts = []
Я успешно загрузил свой json следующим образом:

Код: Выделить всё

with open('dataprint.json', 'r') as openfile:
json_object = json.load(openfile)
Текущее решение (не работает)
Я добавил функцию возврата LeagueAcc в свой класс и попытался вызвать это

Код: Выделить всё

def from_json(json_dct):
return LeagueAcc(
json_dct['elo'],
json_dct['id'],
json_dct['loginname'],
json_dct['puuid'],
json_dct['pw'],
json_dct['summoner'],
json_dct['tagline'])```
это вызов из основного кода¨

Код: Выделить всё

json_deserialized = json.loads(json_object, object_hook=LeagueAcc.LeagueAcc.from_json)

Код: Выделить всё

class LeagueAcc:
def __init__(self, loginname,pw, summoner, tagline):
self.loginname = loginname
self.summoner = summoner
self.pw = pw
self.tagline = tagline
self.elo = None
self.id = None
self.puuid = None

Файл Json

Код: Выделить всё

{
"LeagueAcc": [
{
"elo": "MASTER 98 LP",
"id": "321",
"loginname": "pet",
"puuid": "321",
"pw": "peter",
"summoner": "ottie",
"tagline": "888"
},
{
"elo": "MASTER 98 LP",
"id": "123",
"loginname": "petereerr",
"puuid": "123",
"pw": "peterererreer",
"summoner": "ottie",
"tagline": "888"
}
]
}
Как я могу получить список учетных записей[], заполненный двумя объектами класса LeagueAcc, успешно инициализированный и заполненный данными из json?

Подробнее здесь: https://stackoverflow.com/questions/787 ... ttrributes

Вернуться в «Python»