我希望将两个或多个文件合并成一个JSON文件,并将相同键名下的数组合并。
file1.json
{
"shapes": [
{
"id": "1",
"name": "circle"
},
{
"id": "2",
"name": "square"
}
]
}
file2.json
{
"shapes": [
{
"id": "3",
"name": "triangle"
}
]
}
预期结果:
{
"shapes": [
{
"id": "1",
"name": "circle"
},
{
"id": "2",
"name": "square"
},
{
"id": "3",
"name": "triangle"
}
]
}
我可以用以下jq命令来实现此操作:
jq -s '{shapes: map(.shapes)|add }' file*.json
但这需要我知道shapes属性并硬编码它。是否有一种简单的方法可以在不显式地使用关键字名称的情况下获得相同的结果?