如何将多个Python对象转储到JSON文件中并从中加载?

3
我可以帮您将几个变量存储在JSON文件中。我知道可以像这样转储多个变量 -
import json
with open('data.json', 'w') as fp:
    json.dump(p_id,fp, sort_keys = True, indent = 4)
    json.dump(word_list, fp, sort_keys = True, indent = 4)
    .
    .
    .

但是这些变量被存储时没有它们的名称,尝试加载它们会出错。我该如何适当地存储和提取我想要的变量?


为什么不将它们倒入与对象名称相对应的不同文件中? - Moses Koledoye
或者将它们放在一个外部字典中,其中键是名称。你能给一个不那么抽象的例子吗?[mcve]比“出现错误”更有帮助。 - jonrsharpe
1个回答

7
你通常会将一个JSON对象写入文件中;该对象可以包含其他对象:
json_data = {
    'p_id': p_id,
    'word_list': word_list,
    # ...
}
with open('data.json', 'w') as fp:
    json.dump(json_data, fp, sort_keys=True, indent=4)

现在你只需要读取那个对象,通过相同的键来访问值。
如果您必须编写多个JSON文档,请避免使用换行符,以便您可以逐行读取文件, 因为逐个解析文件中的JSON对象会更加复杂。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接