Consider the following code
import json
class Address(object):
def __init__(self, street, number):
self.street = street
self.number = number
def __str__(self):
return "{0} {1}".format(self.street, self.number)
class User(object):
address: List[Address] = []
def __init__(self, name, address: List):
self.name = name
for adr in address:
self.address.append(Address(*adr)) # is this needed?
def __str__(self):
return "{0} ,{1}".format(self.name, self.address)
if __name__ == '__main__':
js = '''{
"name": "Cristian",
"address": [{
"street": "Sesame",
"number": 122
},
{
"street": "Sesame",
"number": 122
}
]
}'''
j = json.loads(js)
print(j)
u = User(**j)
print(u.name)
print(u.address[0].number)
my question is, for this type of JSON where we have a list of values. Do we need to loop through the list? Or is there a more pythonic way to simply fill this object
address: List[Address] = []
from the loaded json?