我有一个具有以下结构的json文件
{
"a":"aval",
"b":{},
"c":"cval"
}
我有另一个包含以下内容的 json 文件
{
"b1":"b1val","b2":"b2val"
}
我想将文件 2 中的 json 对象推送到文件 1 中的“b”中
{
"a":"aval",
"b":{
"b1":"b1val","b2":"b2val"
},
"c":"cval"
}
我如何使用 JQ 做到这一点
假设文件 #2 可能不为空,您可以简单地将
input
分配给 .b
。
jq '.b = input' file1 file2
否则,当文件 #2 为空时,您将使用以下命令保留
.b
的原始值。
jq '.b = first(inputs, .b)' file1 file2