如何在转换json时增加一个数字

时间:2015-07-01 12:50:38

标签: json bash shell jq

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

{"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为数字类型。

2 个答案:

答案 0 :(得分:3)

尝试

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

这似乎适用于playground of jq

答案 1 :(得分:0)

我认为你需要逃避" +" (加)与" \ +"并看到。像:

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