Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
想用JQ向JSON添加更多的父键吗_Json_Add_Jq_Items - Fatal编程技术网

想用JQ向JSON添加更多的父键吗

想用JQ向JSON添加更多的父键吗,json,add,jq,items,Json,Add,Jq,Items,我有一个JSON: [ { "key1": "value1", "key2": "value2", "key3": "value3", "key4": "value4, "key5": { "subkey1": "subvalue1"

我有一个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的所有当前可用版本都支持它,这比类似备选方案的支持程度更高