Convertir les données JSON en objets Python pour le stockage de base de données Django
Dans votre application Django, vous disposez de données JSON provenant de l'API Facebook qui doivent être stockés dans la base de données. Actuellement, vous gérez manuellement la conversion, ce qui peut devenir fastidieux et inefficace pour les structures de données complexes.
Heureusement, il existe un moyen de simplifier et d'accélérer ce processus en convertissant les données JSON en objets Python à l'aide de l'argument object_hook de JSON. .
Solution Python 3
Avec Python 3, vous pouvez convertissez élégamment les données JSON en un objet avec des attributs correspondant aux clés du dictionnaire :
import json from types import SimpleNamespace data = '{"name": "John Smith", "hometown": {"name": "New York", "id": 123}}' x = json.loads(data, object_hook=lambda d: SimpleNamespace(**d))
Cela renvoie un objet avec les attributs name, hometown.name et hometown.id.
Solution Python 2
Pour Python 2, vous pouvez utiliser nomméetuple et object_hook :
import json from collections import namedtuple data = '{"name": "John Smith", "hometown": {"name": "New York", "id": 123}}' x = json.loads(data, object_hook=lambda d: namedtuple('X', d.keys())(*d.values()))
Il renvoie un objet avec les mêmes attributs que x dans la solution Python 3.
Avantages de la conversion de JSON en objets
En convertissant les données JSON en objets Python, vous bénéficiez des avantages suivants :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!