Wie konvertiert man JSON-Daten zur einfacheren Bearbeitung in Python-Objekte?

Linda Hamilton
Freigeben: 2024-11-16 10:44:02
Original
250 Leute haben es durchsucht

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

JSON-Daten zu Python-Objekten

Sie erhalten JSON-Daten von Facebook und möchten diese in Ihrer Datenbank beibehalten. Eine Möglichkeit besteht darin, die Felder manuell aus dem JSON-Objekt zu extrahieren, wie Sie es gerade tun. Dies kann jedoch insbesondere bei komplexen Datenstrukturen umständlich werden.

Ein bequemerer Ansatz besteht darin, die JSON-Daten in ein natives Python-Objekt zu konvertieren. Dies kann mit dem JSON-Modul und dem Parameter object_hook erreicht werden.

In Python 3 können Sie für diesen Zweck die SimpleNamespace-Klasse verwenden:

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)
Nach dem Login kopieren

In Python 2 können Sie a verwenden Namedtuple:

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
Nach dem Login kopieren

Dieser Ansatz bietet eine bequeme Möglichkeit, auf die JSON-Daten als Attribute des erstellten Objekts zuzugreifen und vereinfacht so dessen Bearbeitung und Speicherung.

Das obige ist der detaillierte Inhalt vonWie konvertiert man JSON-Daten zur einfacheren Bearbeitung in Python-Objekte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage