Solución:
Eche un vistazo al colador; hace que convertir una estructura de datos JSON en objetos Python sea muy fácil.
Tú defines un esquema:
import colander
class Characteristic(colander.MappingSchema):
id = colander.SchemaNode(colander.Int(),
validator=colander.Range(0, 9999))
name = colander.SchemaNode(colander.String())
rating = colander.SchemaNode(colander.String())
class Characteristics(colander.SequenceSchema):
characteristic = Characteristic()
class Person(colander.MappingSchema):
id = colander.SchemaNode(colander.Int(),
validator=colander.Range(0, 9999))
name = colander.SchemaNode(colander.String())
phone = colander.SchemaNode(colander.String())
characteristics = Characteristics()
class Data(colander.SequenceSchema):
person = Person()
luego pase su estructura de datos JSON usando lo siguiente:
deserialized = Data.deserialize(json.loads(json_string))
Si está escribiendo en python 3.6+, probablemente lo más fácil sea usar marshmallow-dataclass:
from marshmallow_dataclass import dataclass
from typing import List
@dataclass
class Character:
id : int
name : str
rating : str
@dataclass
class Person:
id : int
name : str
phone : str
characteristics : List[Character]
my_person = Person.Schema().loads(json_str)
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)