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)
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
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!