我有一个我要排序的JSON字符串。我想按'Name'
字段对其进行排序。我无法为我的生活找到能够做到这一点的代码。
未排序:
{"RU": {"Name": "Russian", "TextDirection": "ltr"}, "FR": {"Name": "French", "TextDirection": "ltr"}, "AR": {"Name": "Arabic", "TextDirection": "rtl"}}
排序
{"AR": {"Name": "Arabic", "TextDirection": "rtl"}, "FR": {"Name": "French", "TextDirection": "ltr"}, "RU": {"Name": "Russian", "TextDirection": "ltr"}}
更新:
@jonrsharpe和@martineau指出。我需要使用数组或列表。我不太关心结构。最初弄乱排序顺序的是转换为json。通过使用数组,json没有使用排序顺序进行混乱。
[{"Code": "AR", "Name": "Arabic", "TextDirection": "rtl"}, {"Code": "FR", "Name": "French", "TextDirection": "ltr"}, {"Code": "RU", "Name": "Russian", "TextDirection": "ltr"}]
答案 0 :(得分:1)
您可以使用OrderedDict在Python中实现带有有序键的字典。
但是,您无法保证JSON对象将按其他应用程序的顺序加载,因为本质上没有对字典进行排序(哈希表)。
因此,迭代键不会给你任何订单保证,除非你为Python和JavaScript使用特定的类,或者你把你的词典放到一个静态的数组中。
https://docs.python.org/3/library/collections.html#collections.OrderedDict
How do I sort a list of dictionaries by values of the dictionary in Python?