Python: converting a list of dictionaries to json

我有一个字典的列表,看起来像这样的东西:

list = [{'id': 123, 'data': 'qwerty', 'indices': [1,10]}, {'id': 345, 'data': 'mnbvc', 'indices': [2,11]}]

诸如此类。名单上可能还有更多的文件。我需要将这些转换为一个 JSON 文档,可以通过瓶子返回,我不能理解如何做到这一点。请帮帮我。我在这个网站上看到了类似的问题,但我不能理解那里的解决方案。

195529 次浏览

使用 json 库

import json
json.dumps(list)

顺便说一下,你可以考虑把变量 list 改成另一个名字,list是创建列表的内建函数,如果你不改变变量的名字,你可能会得到一些意想不到的行为或者一些错误的代码。

要将其转换为具有某些确定的键值的单个字典,可以使用下面的代码。

data = ListOfDict.copy()
PrecedingText = "Obs_"
ListOfDictAsDict = {}
for i in range(len(data)):
ListOfDictAsDict[PrecedingText + str(i)] = data[i]
import json


list = [{'id': 123, 'data': 'qwerty', 'indices': [1,10]}, {'id': 345, 'data': 'mnbvc', 'indices': [2,11]}]

写入 json 文件:

with open('/home/ubuntu/test.json', 'w') as fout:
json.dump(list , fout)

阅读 Json 的文件:

with open(r"/home/ubuntu/test.json", "r") as read_file:
data = json.load(read_file)
print(data)
#list = [{'id': 123, 'data': 'qwerty', 'indices': [1,10]}, {'id': 345, 'data': 'mnbvc', 'indices': [2,11]}]
response_json = ("{ \"response_json\":" + str(list_of_dict)+ "}").replace("\'","\"")
response_json = json.dumps(response_json)
response_json = json.loads(response_json)