2013-12-12 63 views
3

我在使用python從文件讀取json時遇到了問題。數據存儲在未排序的字典中。我想要將數據存儲在列表變量中以正確的順序。如何將json.loads作爲列表而不是Python中的字典

flookup = open('lookup.json') 
self.tags = json.loads(flookup.read())   
flookup.close() 

self.tags包含沒有下令爲基礎的數據上lookup.json文件

{ 
    "JournalTitle": "Journal Title", 
    "PubCode": "Pub Code", 
    "UniqueDocumentID": "Unique Document ID" 
} 
+1

很難理解你在問什麼,但這可能有所幫助:http://stackoverflow.com/questions/6921699/can-i-get-json-to-load-into-an-ordereddict-in-python –

回答

8
import collections, json 
data = '{"a":1, "b": 2}' 
print json.JSONDecoder(object_pairs_hook=collections.OrderedDict).decode(data) 

打印

OrderedDict([(u'a', 1), (u'b', 2)]) 

(雖然它似乎有點怪,要求這樣的事情。如果訂單顯着,JSON數據應該在一個數組中。)

+0

或者,在訪問順序關鍵的代碼的那些部分,訪問的鍵列表是從數組中輸入的(因此是有序的)。 –

相關問題