如何修改Python代码将多个JSON合并为非列表形式的单个JSON
合并多个JSON文件为单个JSON对象的解决方案
你需要将多个JSON文件合并为一个顶层JSON对象,而非列表包裹的结构。当前代码使用列表存储每个文件的JSON内容,最终dump出的自然是列表格式,只需调整为字典合并即可解决:
修改后的代码:
import json glob_data = {} # 初始化为空字典而非列表 for file in p_test: with open(file) as infile: # 将每个JSON文件的内容合并到字典中 glob_data.update(json.load(infile)) with open(path, "w") as data: json.dump(glob_data, data) # 验证结果 with open(path, encoding='utf-8') as file: data = json.load(file) print(data)
关键修改说明:
- 把
glob_data的初始化从列表[]改为空字典{},这样所有JSON键值对会被合并到同一个顶层对象中 - 使用字典的
update()方法替代列表的append(),该方法会将新的键值对添加到已有字典中(如果存在重复键,后面的文件会覆盖前面的) - 最终
json.dump()输出的是单个字典,而非列表,完全匹配你期望的file3.json格式
内容的提问来源于stack exchange,提问作者harry Im
相关产品推荐
相关产品推荐

