jq -s '{ response: [( (.[0].response | sort_by(.name)) as $a | (.[1].response | sort_by(.name)) as $b | ($a | length) as $length | $a[] as $item | $item + $b[range(0;$length)] )] }' a.json b.json
a.json
{
"response": [
{
"station_ja": "新宿",
"lines": [
"yamanote",
"chuo"
]
},
{
"station_ja": "代々木",
"lines": [
"yamanote",
"chuo"
]
},
{
"station_ja": "千駄ヶ谷",
"lines": [
"chuo"
]
}
]
}
b.json
{
"response": [
{
"station_ja": "新宿",
"station_en": "Shinjuku"
},
{
"station_ja": "代々木",
"station_en": "Yoyogi"
},
{
"station_ja": "千駄ヶ谷",
"station_en": "Sendagaya"
}
]
}
output
{
"response": [
{
"station_ja": "新宿",
"lines": [
"yamanote",
"chuo"
],
"station_en": "Shinjuku"
},
{
"station_ja": "代々木",
"lines": [
"yamanote",
"chuo"
],
"station_en": "Yoyogi"
},
{
"station_ja": "千駄ヶ谷",
"lines": [
"yamanote",
"chuo"
],
"station_en": "Sendagaya"
},
{
"station_ja": "新宿",
"lines": [
"yamanote",
"chuo"
],
"station_en": "Shinjuku"
},
{
"station_ja": "代々木",
"lines": [
"yamanote",
"chuo"
],
"station_en": "Yoyogi"
},
{
"station_ja": "千駄ヶ谷",
"lines": [
"yamanote",
"chuo"
],
"station_en": "Sendagaya"
},
{
"station_ja": "新宿",
"lines": [
"chuo"
],
"station_en": "Shinjuku"
},
{
"station_ja": "代々木",
"lines": [
"chuo"
],
"station_en": "Yoyogi"
},
{
"station_ja": "千駄ヶ谷",
"lines": [
"chuo"
],
"station_en": "Sendagaya"
}
]
}