繁体   English   中英

想使用 JQ 向 JSON 添加更多父键

[英]Want to add more parent keys to JSON with JQ

我有这个 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"
        }
      }
    }
  ]
}

我怎么能得到那个?

谢谢大家

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

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

狡辩

是的,我知道 jq 手册弃用了--argfile ,所以可以随意使用众多替代方案中的一种,但所有当前可用的 jq 版本都支持它,这对于类似的替代方案来说远远超过......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM