【问题标题】:Using jq, convert array of name/value pairs to object with named keys使用 jq,将名称/值对数组转换为具有命名键的对象
【发布时间】:2019-02-17 14:10:15
【问题描述】:

给定一个 json 文件,格式为:

[
  {
    "name" : "A",
    "value" : "4"
  },
  {
    "name" : "B",
    "value" : "2"
  },
  {
    "name" : "C",
    "value" : {
      "X": "Something",
      "Y": "Else"
    }
  }
]

如何使用 jq 将其转换为类似的东西:

{
  "A": "4",
  "B": "2",
  "C": {
    "X": "Something",
    "Y": "Else"
  }
}

我确实使用 jq 'map( { (.name): .value } ) 接近了,但这仍然将每个对象留在单独的大括号中,而不是将它们全部放在一起。

【问题讨论】:

    标签: json object key command-line-interface jq


    【解决方案1】:

    使用您的方法,只需将add 添加到您的过滤器:

    map( { (.name): .value } ) | add
    

    【讨论】:

      猜你喜欢
      • 2017-07-14
      • 2022-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-14
      • 2017-06-20
      • 2018-08-07
      • 2023-02-25
      相关资源
      最近更新 更多