如何在转换 json 时增加数字

How to increment a number when transforming json

我正在尝试增加版本字段。输入是

{"version":1}

输出应该是

{"v":2}

当我做的时候

echo '{"version":1}'|jq '{"v":.version+1}'

我明白了

error: syntax error, unexpected '+', expecting '}'

添加字符串插值时有效

echo '{"version":1}'|jq '{"v":"\(.version+1)"}'

产量

{
  "v":"2"
}

不过我需要 v 是数字类型。

我认为您需要使用“\+”转义“+”(加号)并查看。喜欢:

echo '{"version":1}'|jq '{"v":.version\+1}'

尝试

echo '{"version":1}' | jq '{"v":(.version+1)}'

这似乎适用于 playground of jq