JSON データから Python オブジェクトへ
Facebook から JSON データを受信しており、それをデータベースに保存したいと考えています。 1 つのオプションは、現在行っているように、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 では、 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
このアプローチは、作成されたオブジェクトの属性として JSON データにアクセスする便利な方法を提供します。操作と保管が簡素化されます。
以上が操作を容易にするために JSON データを Python オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。