JQ如何将数组中的多个对象合并为一个
JQ how to merge multiple objects in an array into one
我的问题在下面提到的更复杂一些。
我学会了更多地使用数组,但它也把事情搞砸了。
输入:
{
"a": [
{
"b": "c",
"d": "e"
},
{
"b": "f",
"d": "g"
}
],
"h": [
{
"b": "c",
"i": "j"
},
{
"b": "f",
"i": "k"
}
]
}
期望的输出:
{
"l": [
{
"b": "c",
"d": "e",
"i": "j"
},
{
"b": "f",
"d": "g",
"i": "k"
}
]
}
我尝试过的事情,基于
{ x: [ inputs | .a[] | { (.h[]): .i } ] | add}
简单解决方案的关键是transpose
:
[.a, .h]
| transpose
| map(add)
| {l: .}
我的问题在下面提到的更复杂一些。 我学会了更多地使用数组,但它也把事情搞砸了。
输入:
{
"a": [
{
"b": "c",
"d": "e"
},
{
"b": "f",
"d": "g"
}
],
"h": [
{
"b": "c",
"i": "j"
},
{
"b": "f",
"i": "k"
}
]
}
期望的输出:
{
"l": [
{
"b": "c",
"d": "e",
"i": "j"
},
{
"b": "f",
"d": "g",
"i": "k"
}
]
}
我尝试过的事情,基于
{ x: [ inputs | .a[] | { (.h[]): .i } ] | add}
简单解决方案的关键是transpose
:
[.a, .h]
| transpose
| map(add)
| {l: .}