JSON 數據到 Python 物件
您正在從 Facebook 接收 JSON 數據,並希望將其保留在資料庫中。一種選擇是手動從 JSON 物件中提取字段,就像您目前所做的那樣。然而,這可能會變得很麻煩,尤其是對於複雜的資料結構。
更方便的方法是將 JSON 資料轉換為原生 Python 物件。這可以使用 json 模組和 object_hook 參數來實現。
在Python 3 中,您可以利用SimpleNamespace 類別來實現此目的:
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)
在Python 2 中,您可以使用nametuple:
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
以上是如何將 JSON 資料轉換為 Python 物件以便於操作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!