ホームページ >バックエンド開発 >Python チュートリアル >JSON 出力を OrderedDict にすることはできますか?

JSON 出力を OrderedDict にすることはできますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-06 09:29:12773ブラウズ

Can JSON Output Be an OrderedDict?

OrderedDicts を JSON 出力として使用する

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。