Django データベース ストレージ用に JSON データを Python オブジェクトに変換する
Django アプリケーションには、次の処理が必要な Facebook API からの JSON データがあります。データベースに保存されます。現在、変換を手動で処理していますが、複雑なデータ構造の場合、煩雑で非効率的になる可能性があります。
幸いなことに、JSON の object_hook 引数を使用して JSON データを Python オブジェクトに変換することで、このプロセスを簡素化し、高速化する方法があります。 .
Python 3解決策
Python 3 を使用すると、JSON データを辞書キーに対応する属性を持つオブジェクトにエレガントに変換できます。
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))
これは、属性名、出身地を持つオブジェクトを返します。名前、および出身地.id。
Python 2ソリューション
Python 2 の場合、namedtuple と object_hook を使用できます。
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()))
これは、Python 3 ソリューションの x と同じ属性を持つオブジェクトを返します。
JSON を次の形式に変換する利点オブジェクト
JSON データを Python オブジェクトに変換すると、次の利点が得られます。
以上が効率的な Django データベース ストレージのために JSON データを Python オブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。