我有以下json
{
"version" : "0.1.2",
"basePath" : "/"
}
所需的输出是
{
"version" : "0.1.2",
"basePath" : "beta1"
}
我有以下jq产生以下错误:
.basePath = .version | split(".") as $version | if $version[0] == "0" then "beta"+ $version[1] else $version[0] end
jq:错误(在3处):拆分输入和分隔符必须为字符串 退出状态5
使用.basePath = .version
成功分配值,而.version | split(".") as $version | if $version[0] == "0" then "beta"+ $version[1] else $version[0] end
自行返回"beta1"
。是否可以将字符串分配给basePath
键?
答案 0 :(得分:2)
好消息!您建议的解决方案只是缺少一对括号。另外,也不需要$version
。也就是说,可以做到这一点:
.basePath = (.version | split(".")
| if .[0] == "0" then "beta"+ .[1] else .[0] end)