将两个词典转储到 json 文件中的不同行

Dump two dictionaries in a json file on separate lines

这是我的代码:

import json

data1 = {"example1":1, "example2":2}
data2 = {"example21":21, "example22":22}

with open("saveData.json", "w") as outfile:
    json.dump(data1, outfile)
    json.dump(data2, outfile)

输出是这样的:

{"example2": 2, "example1": 1}{"example21": 21, "example22": 22}

当我希望输出是这样的时候:

{"example2": 2, "example1": 1}

{"example21": 21, "example22": 22}

那么如何将 data1 和 data2 字典转储到同一 json 文件中的两个单独的行中?

你需要在它们之间换行;只需添加一个 .write('\n') 调用:

with open("saveData.json", "w") as outfile:
    json.dump(data1, outfile)
    outfile.write('\n')
    json.dump(data2, outfile)

这会产生有效的 JSON lines 输出;通过迭代文件中的行并使用 json.loads():

再次加载数据
with open("saveData.json", "r") as infile:
    data = []
    for line in infile:
        data.append(json.loads(line))