如何将json.loads作为列表而不是Python中的字典

How to json.loads as list instead of dictionary in Python

本问题已经有最佳答案,请猛点这里访问。

我在使用python从文件中读取JSON时遇到问题。数据存储在未排序的字典中。我想将数据存储在列表变量中,使其顺序正确。

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

self.tags包含未基于lookup.json文件排序的数据

1
2
3
4
5
{
 "JournalTitle":"Journal Title",
 "PubCode":"Pub Code",
 "UniqueDocumentID":"Unique Document ID"
}


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

印刷品

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

(尽管要求这样做有点奇怪。如果顺序很重要,JSON数据应该在一个数组中。)