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 数据作为创建对象的属性,从而简化了其操作和存储。
以上是如何将 JSON 数据转换为 Python 对象以便于操作?的详细内容。更多信息请关注PHP中文网其他相关文章!