「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python ライブラリを使用して JSON オブジェクト内のキーの順序を維持するにはどうすればよいですか?

Python ライブラリを使用して JSON オブジェクト内のキーの順序を維持するにはどうすればよいですか?

2024 年 11 月 8 日に公開
ブラウズ:197

How Can I Maintain the Order of Keys in JSON Objects Using Python Libraries?

Python ライブラリを使用した JSON オブジェクト プロパティの順序の保持

json.dumps を使用して Python オブジェクトを JSON 文字列に変換する場合、出力 JSON オブジェクト内のキーの順序は、入力 Python オブジェクト内のキーの元の順序と一致しない可能性があります。これは、特定のキーの順序が必要な場合に問題となる可能性があります。

この問題に対処するには、JSON オブジェクト内のキーの順序を維持する機能を提供する特定の Python ライブラリを利用できます。

sort_keys パラメータの使用

簡単な解決策の 1 つは、sort_keys パラメータを json.dumps と組み合わせて使用​​することです。 sort_keys を True に設定すると、出力 JSON オブジェクトのキーがアルファベットの昇順で並べ替えられます。

import json

json_string = json.dumps({'a': 1, 'b': 2}, sort_keys=True)
print(json_string)  # Output: '{"a": 1, "b": 2}'

コレクションを使用する。OrderedDict

キーの順序を指定するには、collections.OrderedDict クラスを使用できます。 OrderedDict はキーと値のペアの挿入順序を保持し、結果として得られる JSON オブジェクト内のキーの順序が、キーと値のペアが OrderedDict.

from collections import OrderedDict

json_string = json.dumps(OrderedDict([('a', 1), ('b', 2)]))
print(json_string)  # Output: '{"a": 1, "b": 2}'

入力 JSON のキー順序を保持

入力が次の場合JSON 形式では、json.loads の object_pairs_hook パラメーターを使用して、JSON オブジェクト内のキーと値のペアごとに呼び出される関数を指定できます。これにより、キーの順序を保持する OrderedDict を作成できるようになります。

import json

json_string = '{"a": 1, "b": 2}'
parsed_json = json.loads(json_string, object_pairs_hook=OrderedDict)
print(parsed_json)  # Output: OrderedDict([('a', 1), ('b', 2)])

これらの手法を利用すると、JSON オブジェクト内のプロパティの順序を確実に保つことができます。希望の順序と一貫性があり、Python での JSON オブジェクトに対する柔軟性と制御が向上します。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3