Python:将字典列表转换为json

Apo*_*osh 48 python json dictionary list

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

list = [{'id': 123, 'data': 'qwerty', 'indices': [1,10]}, {'id': 345, 'data': 'mnbvc', 'indices': [2,11]}]
Run Code Online (Sandbox Code Playgroud)

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

mar*_*ial 86

使用json库

import json
json.dumps(list)
Run Code Online (Sandbox Code Playgroud)

顺便说一句,你可能会考虑将变量列表更改为另一个名称,list是列表创建的内置函数,如果不更改变量名,可能会出现一些意外行为或一些错误代码.

  • 好的。这只是一个示例,我为此使用名称 mylist。dumps() 也适用于列表吗?我认为它只应该用于听写。 (2认同)

Ram*_*eja 6

导入json

list = [{'id': 123, 'data': 'qwerty', 'indices': [1,10]}, {'id': 345, 'data': 'mnbvc', 'indices': [2,11]}]
Run Code Online (Sandbox Code Playgroud)

写入json文件:

with open('/home/ubuntu/test.json', 'w') as fout:
    json.dump(list , fout)
Run Code Online (Sandbox Code Playgroud)

读取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]}]
Run Code Online (Sandbox Code Playgroud)