【问题标题】:JQ how to merge multiple objects in an array into oneJQ如何将数组中的多个对象合并为一个
【发布时间】:2019-06-18 10:02:01
【问题描述】:

正如我在下面提到的问题一样,稍微复杂一点。 我学会了更多地使用数组,但它也搞砸了。

输入:

{
  "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"
    }
  ]
}

我尝试过的东西,基于JQ How to merge multiple objects into one

{ x: [ inputs | .a[] | { (.h[]): .i } ] | add}

【问题讨论】:

    标签: arrays json object add jq


    【解决方案1】:

    简单解决方法的关键是transpose

    [.a, .h]
    | transpose
    | map(add)
    | {l: .}
    

    【讨论】:

    • Tx 用于计数!
    猜你喜欢
    • 2019-06-23
    • 2018-12-31
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多