পাইথন dict
(পাইথন ৩.7 এর পূর্বে) এবং জেএসওএন অবজেক্ট আনর্ডারড সংগ্রহ col sort_keys
কীগুলি বাছাই করতে আপনি প্যারামিটারটি পাস করতে পারেন:
>>> import json
>>> json.dumps({'a': 1, 'b': 2})
'{"b": 2, "a": 1}'
>>> json.dumps({'a': 1, 'b': 2}, sort_keys=True)
'{"a": 1, "b": 2}'
আপনার যদি কোনও নির্দিষ্ট আদেশের প্রয়োজন হয়; আপনি ব্যবহারcollections.OrderedDict
করতে পারেন :
>>> from collections import OrderedDict
>>> json.dumps(OrderedDict([("a", 1), ("b", 2)]))
'{"a": 1, "b": 2}'
>>> json.dumps(OrderedDict([("b", 2), ("a", 1)]))
'{"b": 2, "a": 1}'
পাইথন ৩.6 থেকে , মূল শব্দটি আর্গুমেন্ট অর্ডার সংরক্ষণ করা হয়েছে এবং উপরেরগুলি একটি ভাল সিনট্যাক্স ব্যবহার করে আবারও লেখা যেতে পারে:
>>> json.dumps(OrderedDict(a=1, b=2))
'{"a": 1, "b": 2}'
>>> json.dumps(OrderedDict(b=2, a=1))
'{"b": 2, "a": 1}'
পিইপি 468 দেখুন - কীওয়ার্ড আর্গুমেন্ট অর্ডার সংরক্ষণ করা ।
যদি আপনার ইনপুটটি JSON হিসাবে দেওয়া হয় তবে অর্ডার সংরক্ষণের জন্য (পেতে OrderedDict
), আপনি পাস করতে পারেন object_pair_hook
, @ ফ্রেড ইয়ানকোভস্কির পরামর্শ অনুসারে :
>>> json.loads('{"a": 1, "b": 2}', object_pairs_hook=OrderedDict)
OrderedDict([('a', 1), ('b', 2)])
>>> json.loads('{"b": 2, "a": 1}', object_pairs_hook=OrderedDict)
OrderedDict([('b', 2), ('a', 1)])