【问题标题】:How to increment a number when transforming json转换json时如何增加一个数字
【发布时间】:2026-02-10 05:15:02
【问题描述】:

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

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

【问题讨论】:

    标签: json bash shell jq


    【解决方案1】:

    试试

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

    这似乎适用于playground of jq

    【讨论】:

      【解决方案2】:

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

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

      【讨论】: