Python:将字典列表转换为json

时间:2014-02-03 10:50:18

标签: python json list dictionary

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

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

等等。列表中可能有更多文档。我需要将这些转换为一个JSON文档,可以通过瓶子返回,我无法理解如何做到这一点。请帮忙。我在这个网站上看到了类似的问题,但我无法理解那里的解决方案。

4 个答案:

答案 0 :(得分:75)

使用json库

import json
json.dumps(list)
顺便提一下,您可以考虑将变量列表更改为另一个名称,list是创建列表的内置函数,如果不更改变量名,可能会出现一些意外行为或一些错误代码

答案 1 :(得分:2)

导入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]}]

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

response_json = ("{ \"response_json\":" + str(list_of_dict)+ "}").replace("\'","\"")
response_json = json.dumps(response_json)
response_json = json.loads(response_json)