【问题标题】:Merge json array elements with jq将 json 数组元素与 jq 合并
【发布时间】:2019-01-11 10:50:41
【问题描述】:

我想使用 jq 合并数组值。 在我的输入 json 中有一个数组 times 的嵌套数组,每个数组都有(总是)两个字符串元素。我希望将这两个字符串元素连接起来并删除嵌套数组,以便只剩下一个数组:

我的意见:

{
   "times":[
      [
         "7:29", "IN"
      ],
      [
         "10:29", "OUT"
      ]
   ],
   "foo":"bar"
}

我想要的输出是:

{
   "times":
   [
         "7:29 IN", "10:29 OUT"
   ],
   "foo":"bar"
}

这就是我合并数组元素的方式,缺少的是再次从中创建一个 json 数组:

jq    '.times | to_entries | .[] | (.value[0]+ " " + .value[1])'

【问题讨论】:

    标签: json edit jq string-concatenation


    【解决方案1】:
    jq '.times |= map(join(" "))' file
    

    产量:

    {
      "times": [
        "7:29 IN",
        "10:29 OUT"
      ],
      "foo": "bar"
    }
    

    【讨论】:

    • 谢谢!本来是要map(join(" ")),但这要好得多!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 2021-01-11
    • 2021-08-14
    • 1970-01-01
    • 2018-05-07
    相关资源
    最近更新 更多