的順序。它被裝載方式如下:Python的json.loads改變我有一個包含JSON對象的文件對象
with open('data.json', 'r') as input_file:
input_data = input_file.read()
此時input_data只包含一個字符串,現在我繼續把它解析成JSON:
data_content = json.loads(input_data.decode('utf-8'))
data_content有這字符串的JSON表示我需要什麼,但出於某種原因json.loads它正在改變鍵的順序原始順序,因此,舉例來說,如果我的文件包含類似後我也不清楚:
{ "z_id": 312312,
"fname": "test",
"program": "none",
"org": null
}
json.loads後的順序被改變,以讓我們這樣說:
{ "fname": "test",
"program": None,
"z_id": 312312,
"org": "none"
}
這究竟是爲什麼?有沒有辦法維護訂單?我正在使用Python 2.7。
爲什麼你需要字典順序? –
如果你確實需要的命令,那麼http://stackoverflow.com/questions/6921699/can-i-get-json-to-load-into-an-ordereddict-in-python – tdelaney
我認爲這是一個壞榜樣,因爲鑰匙按字母順序排列。我將編輯示例。我的意思是我想要的對象沒有改變,但持有什麼順序它最初曾 – Sebastian