Exercices Architecture & Patterns Serialisation JSON d'objets imbriques
🎉

Bravo!

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'

+ 0 tests cachés

Indices (3 disponibles)

solution.py