Maison  >  Article  >  développement back-end  >  Comment convertir des données JSON en objets Python pour une manipulation plus facile ?

Comment convertir des données JSON en objets Python pour une manipulation plus facile ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-16 10:44:02251parcourir

How to Convert JSON Data to Python Objects for Easier Manipulation?

Données JSON vers des objets Python

Vous recevez des données JSON de Facebook et souhaitez les conserver dans votre base de données. Une option consiste à extraire manuellement les champs de l'objet JSON, comme vous le faites actuellement. Cependant, cela peut devenir fastidieux, en particulier pour les structures de données complexes.

Une approche plus pratique consiste à convertir les données JSON en un objet Python natif. Ceci peut être réalisé en utilisant le module json et le paramètre object_hook.

Dans Python 3, vous pouvez utiliser la classe SimpleNamespace à cet effet :

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))
print(x.name, x.hometown.name, x.hometown.id)

Dans Python 2, vous pouvez utiliser un nommétuple :

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()))
print x.name, x.hometown.name, x.hometown.id

Cette approche fournit un moyen pratique d'accéder aux données JSON en tant qu'attributs de l'objet créé, simplifiant sa manipulation et son stockage.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn