json.loads 更改传递的字符串中给定键的顺序[重复]
Posted
技术标签:
【中文标题】json.loads 更改传递的字符串中给定键的顺序[重复]【英文标题】:json.loads changes order of the keys given in the string passed [duplicate] 【发布时间】:2014-10-24 02:23:45 【问题描述】: >>> x='"Title":"test","Description":"test des","Colo":"test colo1","Expected Date":"1234","Comboboxes":"option1","Checkboxes":["option1","option2"]'
>>> x
'"Title":"test","Description":"test des","Colo":"test colo1","Expected Date":"1234","Comboboxes":"option1","Checkboxes":["option1","option2"]'
>>> json.loads(x)
'Expected Date': '1234', 'Description': 'test des', 'Title': 'test', 'Comboboxes': 'option1', 'Colo': 'test colo1', 'Checkboxes': ['option1', 'option2']
请帮助我按照给定字符串的顺序获取这些键。
【问题讨论】:
JSON 对象键未排序。 为什么它们的顺序需要相同? 我实际上是在 django 中创建一个动态表单,它以 json 格式存储数据。下次用户需要查看数据时,我需要通过json解析,并以相同的顺序显示数据。 【参考方案1】:json.loads()
生成一个 Python 字典,该字典从内部哈希表中获取排序。您可以使用sorted()
对它们进行排序,但您不能订购标准字典。如果需要,您可以使用OrderedDict
。
【讨论】:
我也试过这个选项。甚至ordereddict给了我和json.loads一样的顺序 您只能按顺序输出(即打印/显示)字典,但不能按顺序存储字典。以上是关于json.loads 更改传递的字符串中给定键的顺序[重复]的主要内容,如果未能解决你的问题,请参考以下文章
python中json文件处理涉及的四个函数json.dumps()和json.loads()json.dump()和json.load()的区分
python中json文件处理涉及的四个函数json.dumps()和json.loads()json.dump()和json.load()的区分
python中json文件处理涉及的四个函数json.dumps()和json.loads()json.dump()和json.load()的区分
python中json.dumps()和json.dump() 以及 json.loads()和json.load()的区分