2014-08-30 52 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