2014-08-30 91 views
-2
>>> 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.loads更改传递字符串中给定的键的顺序

+0

JSON对象键没有排序。 – user2357112 2014-08-30 04:33:56

+0

他们为什么需要按照相同的顺序? – MattDMo 2014-08-30 04:37:26

+0

我实际上创建在Django中创建一个动态的形式,它以json格式存储数据。下一次当用户需要查看数据时,我需要通过json解析并以相同的顺序显示数据。 – 2014-08-30 05:00:05

回答

1

json.loads()产生一个Python字典,它从内部哈希表中得到它的排序。您可以使用sorted()对它们进行排序,但不能订购标准字典。如果需要,您可以使用OrderedDict

+0

我也试过这个选项。即使ordereddict也给出了与json.loads – 2014-08-30 04:50:16

+0

相同的顺序。您只能按照顺序输出(即打印/显示)字典,但不能按顺序存储字典。 – Anvesh 2014-08-30 06:31:05