如何在Python中将json.loads作为列表而不是字典[重复]

Posted

技术标签:

【中文标题】如何在Python中将json.loads作为列表而不是字典[重复]【英文标题】:How to json.loads as list instead of dictionary in Python [duplicate] 【发布时间】:2013-12-30 11:32:03 【问题描述】:

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

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"

【问题讨论】:

很难理解你在问什么,但这可能会有所帮助:***.com/questions/6921699/… 您可以将 json 作为列表加载,但它必须是列表。在这种情况下,您需要作为 dict 加载并转换为列表。类似于[v for +, v in myjsondict.items()] 【参考方案1】:
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数据应该在一个数组中。)

【讨论】:

或者,在那些顺序重要的代码部分中,被访问的键列表是从数组中输入的(因此是有序的)。

以上是关于如何在Python中将json.loads作为列表而不是字典[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中将 JSON 转换为 HTML 表

python——json.loads避坑

python 字符串转 json

如何在 Python 中将列表作为函数的输入传递

python json.loads 报错 json.decoder.JSONDecodeError

python json使用