使用 jq 从另一个 json 获取字段
Get field from another json using 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 将 logg.json 中的 version.number 粘贴到 version.number 1.json 中吗?我需要这样的东西(这是绝对错误的):
jq-win64 ".version.number 1.json" = ".version.number +1" logg.json
读取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
是完全合适的。
我有两个 .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 将 logg.json 中的 version.number 粘贴到 version.number 1.json 中吗?我需要这样的东西(这是绝对错误的):
jq-win64 ".version.number 1.json" = ".version.number +1" logg.json
读取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
是完全合适的。