如何创建新JSON文件并将多个现有JSON文件内容合并至该文件?
多JSON数组合并为合法JSON文件的实现方法
不要直接拼接JSON文件的字符串内容,很容易出现括号不匹配、多余逗号等格式错误,正确做法是先反序列化解析JSON为语言原生数据结构,合并后再序列化为合法JSON输出。
方案1:Python实现(全平台通用)
操作步骤:
- 把所有待合并的JSON文件(json1.json、json2.json等)放在同一个目录下
- 运行以下Python代码:
import json import glob # 存储所有合并后的元素 combined_data = [] # 匹配当前目录下所有要合并的json文件,可自行修改匹配规则 for json_file in glob.glob("json*.json"): with open(json_file, "r", encoding="utf-8") as f: # 解析JSON为Python列表 data = json.load(f) # 把当前文件的列表元素追加到合并列表中 combined_data.extend(data) # 写入到combined.json,indent=4保证格式化输出,和示例格式一致 with open("combined.json", "w", encoding="utf-8") as f: json.dump(combined_data, f, indent=4, ensure_ascii=False)
- 运行后当前目录就会生成符合要求的
combined.json文件
方案2:jq命令实现(适合Linux/macOS环境,无需写代码)
如果安装了JSON处理工具jq,直接在终端执行一行命令即可:
jq -s 'add' json1.json json2.json > combined.json
参数说明:
-s表示把所有输入的JSON文件读取为一个数组add表示把数组合并展开- 最终输出重定向到
combined.json即可
格式验证
可以用以下命令验证生成的JSON是否合法:
jq . combined.json
如果没有报错且能正常输出格式化内容,说明格式完全符合要求。
内容的提问来源于stack exchange,提问作者Jiwa Chhetri
相关产品推荐
相关产品推荐

