Я хотел бы объединить два или более файлов в один 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
Но для этого мне нужно знать shape атрибут и жестко закодируйте его. Есть ли простой способ получить тот же результат без явного использования имени ключа?