ホームページ > バックエンド開発 > Python チュートリアル > JSON を Python OrderedDict にロードしてキーの順序を維持できますか?

JSON を Python OrderedDict にロードしてキーの順序を維持できますか?

Linda Hamilton
リリース: 2024-12-02 13:45:12
オリジナル
730 人が閲覧しました

Can JSON be Loaded into a Python OrderedDict to Preserve Key Order?

OrderedDict への JSON の読み込み

Python では、OrderedDict は通常の辞書とは異なり、キーの順序を維持します。 json.dump を使用して OrderedDict を JSON にダンプすることは可能ですが、元のキーの順序を保持するために JSON を OrderedDict にロードし直すこともできますか?

OrderedDict への JSON のロード

JSON を OrderedDict にロードするには、JSONDecoder クラスの object_pairs_hook 引数を使用しますまたは json.loads と json.load で。この引数は、JSON オブジェクトのキーと値の各ペアがロードされるときに呼び出される関数を指定します。

たとえば、JSONDecoder クラスを使用して JSON を OrderedDict にロードするには、次のようにします。

import json
from collections import OrderedDict

decoder = json.JSONDecoder(object_pairs_hook=collections.OrderedDict)
data = decoder.decode('{"foo": 1, "bar": 2}')
ログイン後にコピー

object_pairs_hook 引数を直接渡すこともできますjson.loads:

import json
from collections import OrderedDict

data = json.loads('{"foo": 1, "bar": 2}', object_pairs_hook=Collections.OrderedDict)
ログイン後にコピー

または、JSON ファイルを開くとき:

import json
from collections import OrderedDict

with open('config.json') as f:
    data = json.load(f, object_pairs_hook=OrderedDict)
ログイン後にコピー

これにより、キーの元の順序を維持しながら、JSON データが OrderedDict にロードされます。

以上がJSON を Python OrderedDict にロードしてキーの順序を維持できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート