Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Serialisation JSON d'objets imbriques
Quand tu as des objets qui contiennent d'autres objets (par exemple un Client qui a une Adresse), la serialisation devient un peu plus complexe. Chaque objet doit savoir se serialiser lui-meme.
Le principe est simple : on serialise de l'interieur vers l'exterieur. L'objet parent appelle to_dict() sur ses sous-objets.
Exemple : class Roue: def __init__(self, taille): self.taille = taille def to_dict(self): return {'taille': self.taille}
class Voiture: def __init__(self, marque, roue): self.marque = marque self.roue = roue def to_dict(self): return {'marque': self.marque, 'roue': self.roue.to_dict()}
Crée deux classes : - Adresse(rue, ville) avec to_dict() - Client(nom, adresse) avec to_dict() et from_dict()
Client.to_dict() doit inclure l'adresse comme dict imbrique. Client.from_dict() doit reconstruire l'objet Adresse depuis le dict imbrique.
Exemple : a = Adresse('1 rue Python', 'Paris') c = Client('Alice', a) c.to_dict() # {'nom': 'Alice', 'adresse': {'rue': '1 rue Python', 'ville': 'Paris'}}
Tests (2/4)
Adresse to_dict
a = Adresse('1 rue Python', 'Paris')
assert a.to_dict() == {'rue': '1 rue Python', 'ville': 'Paris'}
Client to_dict
c = Client('Alice', Adresse('2 av', 'Lyon'))
d = c.to_dict()
assert d['nom'] == 'Alice' and d['adresse']['ville'] == 'Lyon'