jq-仅将第二个JSON文件中的单个密钥合并到主JSON文件中
鉴于: master.json:jq-仅将第二个JSON文件中的单个密钥合并到主JSON文件中,json,jq,Json,Jq,鉴于: master.json: {"a":[{"x":1}], "b":1} extra.json: {"a":[{"x":2}], "somekey2":2, "somekey3":3} 预期产出: { "a": [ { "x": 1 }, { "x": 2 } ], "b": 1 } 我需要合并到extra.json中的master.json键的内容中,忽略第二个json可能具有的所有其他键 我试过了,但没用 jq
{"a":[{"x":1}], "b":1}
extra.json:
{"a":[{"x":2}], "somekey2":2, "somekey3":3}
预期产出:
{
"a": [
{
"x": 1
},
{
"x": 2
}
],
"b": 1
}
我需要合并到extra.json
中的master.json
键的内容中,忽略第二个json可能具有的所有其他键
我试过了,但没用
jq -s "add" '.[a] + .[a]' x1 x2
你不需要咕噜咕噜地说。在没有任何标志的情况下,您可以通过input
关键字访问第二个输入
$ jq '.a += input.a' master.json extra.json
{
"a": [
{
"x": 1
},
{
"x": 2
}
],
"b": 1
}
你不需要咕噜咕噜地说。在没有任何标志的情况下,您可以通过input
关键字访问第二个输入
$ jq '.a += input.a' master.json extra.json
{
"a": [
{
"x": 1
},
{
"x": 2
}
],
"b": 1
}
只要文件的大小不是很大,就可以对其进行slurp处理并附加数组a
的内容
jq -s '.[].a = ([.[].a]|add|unique)|.[0]' master.json extra.json
如果允许为数组保留重复的对象,则可以删除唯一的部分。只要文件大小不太大,就可以将其拖拽并附加数组a
的内容
jq -s '.[].a = ([.[].a]|add|unique)|.[0]' master.json extra.json
如果允许为阵列保留重复对象,则可以删除“唯一”部分