如何使用jq合并两个JSON文件并新增自定义外层key
实现命令
假设你的两个JSON文件分别命名为file1.json(对应first_key)和file2.json(对应second_key),直接运行以下命令即可得到符合要求的合并结果:
jq -n --slurpfile f1 file1.json --slurpfile f2 file2.json '{"first_key": $f1[0], "second_key": $f2[0]}'
如果需要把结果直接保存为新文件,在命令末尾加输出重定向即可:
jq -n --slurpfile f1 file1.json --slurpfile f2 file2.json '{"first_key": $f1[0], "second_key": $f2[0]}' > merged.json
命令说明
-n参数:指定jq不读取默认输入流,完全基于参数构建输出JSON--slurpfile 变量名 文件名:将指定JSON文件的内容读取为数组格式存入对应变量,因为单个文件只有一个JSON对象,所以取变量的第0项$f1[0]即可拿到原文件的完整内容- 最后单引号包裹的部分就是直接定义你需要的外层JSON结构,对应赋值即可。
内容的提问来源于stack exchange,提问作者Chloe
相关产品推荐
相关产品推荐

