使用json.dump创建包含json数组的有效json文件

时间:2018-09-26 09:05:26

标签: python json

mcve:

d1 = {"a":1}
d2 = {"b":2}
import json
with open('test2.json','w+') as file:
     for d in [d1,d2]:
             json.dump(d,file)

test2.json内容:

{"a": 1}{"b": 2}

所需结果:

[{"a": 1},{"b": 2}]

我该如何实现?

6 个答案:

答案 0 :(得分:1)

d1 = {"a":1}
d2 = {"b":2}
import json

array = [json.dumps(d) for d in [d1,d2]]

然后将数组写入文件

答案 1 :(得分:0)

相反,创建一个列表,然后直接转储该列表。

with open('test2.json','w+') as file:
     d = [d1, d2]
     json.dump(d,file)

答案 2 :(得分:0)

尝试

d1 = {"a":1}
d2 = {"b":2}
import json
tab = [d1, d2]
with open('test2.json','w+') as file:
    json.dump(tab ,file)

答案 3 :(得分:0)

使用列表并将两个字典都附加到列表中,然后将列表写入文件中。

d1 = {"a":1}
d2 = {"b":2}
import json
with open('test2.json','w+') as file:
     for d in [d1,d2]:
             list1 = []
             list1.append(d1)
             list1.append(d2)
             json.dump(list1,file)

答案 4 :(得分:0)

尝试一下

d1 = {"a":1}
d2 = {"b":2}
import json
with open('test2.json','w+') as file:
    json.dump([d1,d2],file)

答案 5 :(得分:0)

字典列表已经是一个json可序列化的对象,因此只需序列化所需的整个对象即可

import json
with open('test2.json','w+') as file:
    json.dump([{"a":1}, {"b":2}],file)