JQ如何将数组中的多个对象合并为一个 [英] JQ how to merge multiple objects in an array into one
本文介绍了JQ如何将数组中的多个对象合并为一个的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的问题将在下面提到. 我学会了更多地使用数组,但是它也会使事情搞砸.
A little more sophisticated as my question mentioned below. I learned to use arrays more, but it screws things up too.
输入:
{
"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
:
The key to a simple solution is transpose
:
[.a, .h]
| transpose
| map(add)
| {l: .}
这篇关于JQ如何将数组中的多个对象合并为一个的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文