【问题标题】:Want to add more parent keys to JSON with JQ想要使用 JQ 向 JSON 添加更多父键
【发布时间】:2020-11-04 16:15:36
【问题描述】:

我有这个 JSON:

[
  {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3",
    "key4": "value4,
    "key5": {
      "subkey1": "subvalue1",
      "subkey2": "subvalue2",
      "subkey3": "subvalue3"
    }
  }
]

我想使用 JQ 构建一个新的 JSON,并添加更多项目,让我解释一下,我想得到这个:

{
  "NEWKEY1": "NEWVALUE2",
  "NEWKEY2": [
    {
      "NEWKEY3": "UPSNEWVALUE3",
      "NEWKEY4": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3",
        "key4": "value4,
        "key5": {
          "subkey1": "subvalue1",
          "subkey2": "subvalue2",
          "subkey3": "subvalue3"
        }
      }
    }
  ]
}

我怎么能得到它?

谢谢大家

【问题讨论】:

    标签: json add jq items


    【解决方案1】:

    如果 data.json 包含新数据,并且 template.json 包含带有 NEWKEY1 的模板等,则以下调用会产生所需的输出:

    jq --argfile in data.json '.NEWKEY2[0].NEWKEY4 = $in[0]' template.json
    

    狡辩

    是的,我知道 jq 手册不推荐使用 --argfile,因此请随意使用众多替代方案之一,但所有当前可用的 jq 版本都支持它,这对于 类似 替代品....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-10
      • 1970-01-01
      • 2014-04-28
      • 2018-09-21
      • 2017-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多