如何使用jq将一个JSON文件的字段合并至另一个JSON文件?
使用jq合并两个JSON数组的对应对象
完全可以用jq直接实现这个需求,无需借助Python、JavaScript等其他编程语言。
执行以下命令即可完成合并:
jq -n '[inputs] | transpose | map(add)' file1.json file2.json
命令解释:
-n:让jq从空状态启动,避免默认读取第一个文件内容作为初始输入[inputs]:将两个输入文件的JSON内容收集为一个二维数组,结构为[file1数组, file2数组]transpose:对二维数组进行转置,把两个数组中对应位置的对象配对,比如原数组的第1个对象和第二个数组的第1个对象组成一组,第2个和第2个组成一组map(add):对每组配对的对象执行合并操作,将两个对象的键值对合并为一个新对象,最终输出合并后的数组
将你提供的示例内容分别保存为file1.json和file2.json,运行上述命令后,就能得到你期望的合并结果。
内容的提问来源于stack exchange,提问作者mosf
相关产品推荐
相关产品推荐

