A little more sophisticated as my previous question. Missing indexes mess things up too.
Input:
{
"a": [
{ "b": 1, "d": "p" },
{ "b": 3, "d": "r" },
{ "b": 4, "d": "s" }
],
"h": [
{ "b": 1, "i": "k" },
{ "b": 2, "i": "l" },
{ "b": 4, "i": "n" }
]
}
Desired output:
{
"q": [
{ "b": 1, "d": "p", "i": "k" },
{ "b": 2, "i": "l" },
{ "b": 3, "d": "r" },
{ "b": 4, "d": "s", "i": "n" }
]
}
Tried:
jq '[.a, .h ] | transpose | map(add)| {l: .}'
jq '[ .a[] , .h[] ] | unique_by(.b) | { l: sort_by(.b) }'
jq '[ .a[] + .h[] ] | unique_by(.b) | { l: sort_by(.b) }'
jq '[ .a[] * .h[] ] | unique_by(.b) | { l: sort_by(.b) }'