按关键字以外的字段对JSON排序

2024-06-09 01:04:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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"}}

更新:

正如乔尔夏普和马蒂诺所指出的。我需要使用数组或列表。我不太关心结构。最初扰乱排序顺序的是对json的转换。相反,通过使用数组,json不会影响排序顺序。你知道吗

[{"Code": "AR", "Name": "Arabic", "TextDirection": "rtl"}, {"Code": "FR", "Name": "French", "TextDirection": "ltr"}, {"Code": "RU", "Name": "Russian", "TextDirection": "ltr"}]

Tags: namejson排序顺序rucode数组fr
1条回答
网友
1楼 · 发布于 2024-06-09 01:04:07

您可以使用userorderedict在Python中实现具有有序键的字典。你知道吗

但是,您不能保证JSON对象将由其他应用程序按顺序加载,因为字典(hashtables)没有按性质排序。你知道吗

因此,对键进行迭代不会保证顺序,除非对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?

相关问题 更多 >