用命令行jq用另一个json文件替换json节点

时间:2017-03-27 23:13:21

标签: json jq

我有result.json

{
   "Msg": "This is output",
   "output": {}
}

output.json

{
   "type": "string",
   "value": "result is here"
}

我想将output中的result.json字段替换为整个文件output.json

{
   "Msg": "This is output",
   "output": {
       "type": "string",
       "value": "result is here"
   }
}

jq命令行的想法?提前谢谢。

2 个答案:

答案 0 :(得分:2)

您可以使用--argfile处理多个文件:

jq --argfile f1 result.json --argfile f2 output.json -n '$f1 | .output = $f2'

答案 1 :(得分:2)

基本上与Bertrand Martel的答案相同,但使用不同(和更短)的方法来阅读这两个文件。

jq -n 'input | .output = input' result.json output.json