使用jq

时间:2016-12-06 07:14:22

标签: json jq

我有两个.json文件。 第一个是1.json

{
    "id": "107709375",
    "type": "page",
    "title": "SomeTitle",
    "space": {
        "key": "BUSINT"
    },
    "version": {
        "number": 62
    }
}

第二个是logg.json:

{
    "id": "228204270",
    "type": "page",
    "status": "current",
    "title": "test-test",
    "version": {
        "when": "2016-11-23T16:54:18.313+07:00",
        "number": 17,
        "minorEdit": false
    },
    "extensions": {
        "position": "none"
    }
}

我可以使用jq将version.number从logg.json粘贴到version.number 1.json中吗?我需要这样的东西(这是绝对错误的):

jq-win64 ".version.number 1.json" = ".version.number +1" logg.json

1 个答案:

答案 0 :(得分:1)

logg.json作为参数文件读取。然后,您可以访问其值以对另一个进行更改。

$ jq --argfile logg logg.json '.version.number = $logg.version.number + 1' 1.json

当然,您需要在Windows命令提示符下使用双引号。

> jq --argfile logg logg.json ".version.number = $logg.version.number + 1" 1.json

虽然文档说使用--slurpfile代替,但我们在文件中只有一个对象,因此使用--argfile完全合适。