ホームページ >バックエンド開発 >Python チュートリアル >JSON 出力を OrderedDict にすることはできますか?
JSON を OrderedDict にロードできますか?
JSON シリアル化では、OrderDicts を入力として利用されます。ただし、重要な疑問が生じます。それらは出力としても機能するのでしょうか?その場合、そのプロセスは何ですか?
OrderedDicts の出力としての JSON
はい、OrderDicts は確かに JSON 出力として機能します。これは、JSONDecoder 内で object_pairs_hook 引数を指定することによって実現されます。ドキュメントで説明されているように、これは次の例で示されているアプローチです。
>>> json.JSONDecoder(object_pairs_hook=collections.OrderedDict).decode('{"foo":1, "bar": 2}') OrderedDict([('foo', 1), ('bar', 2)]) >>>
代替 JSON 出力パラメータ
便宜上、このパラメータを渡すこともできます。 json.loads に直接 (デコーダーは必要ありません)インスタンス):
>>> import json >>> from collections import OrderedDict >>> data = json.loads('{"foo":1, "bar": 2}', object_pairs_hook=OrderedDict) >>> print json.dumps(data, indent=4) { "foo": 1, "bar": 2 } >>>
OrderedDicts への JSON データのロード
同様に、JSON データは、同じ方法で json.load を使用して OrderDicts にロードできます。
以上がJSON 出力を OrderedDict にすることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。