Десериализация списка 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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