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
Json JQ-仅顶级键和值的非递归合并_Json_Jq - Fatal编程技术网

Json JQ-仅顶级键和值的非递归合并

Json JQ-仅顶级键和值的非递归合并,json,jq,Json,Jq,这里有很多关于JQ的问题,但似乎没有一个能解决我要找的问题。我想获取两个JSON对象并以非递归方式合并它们 { "a": { "1": "1", "2": "2" } } 并入 { "a": { "3": "3" }, "b":

这里有很多关于JQ的问题,但似乎没有一个能解决我要找的问题。我想获取两个JSON对象并以非递归方式合并它们

{
    "a": {
        "1": "1",
        "2": "2"
    }
}
并入

{
    "a": {
        "3": "3"
    },
    "b": {
        "1": "1"
    }
}
应该导致

{
    "a": {
        // Note "3" is not present, object "a" is completely replaced.
        "1": "1",
        "2": "2"
    },
    "b": {
        "1": "1"
    }
}

谢谢!非常感谢您的帮助。

看起来我需要
--slurp
结合一个简单的
添加

erin@laptop:~/tmp$ cat a.json 
{
    "a": {
        "1": "1",
        "2": "2"
    }
}

erin@laptop:~/tmp$ cat b.json 
{
    "a": {
        "3": "3"
    },
    "b": {
        "1": "1"
    }
}

erin@laptop:~/tmp$ jq -s 'add' b.json a.json
{
  "a": {
    "1": "1",
    "2": "2"
  },
  "b": {
    "1": "1"
  }
}
erin@laptop:~/tmp$