jq 过滤器将两个 json 值合并为一个带有斜线分隔符的值

jq filter to combine two json values into one with a slash delimiter

我正在尝试使用 jq 处理 json 输入:

{
"foo":"xxx",
"bar":"yyy"
}

正在尝试获得以下所需的 json 输出:

{"path":"xxx/yyy"}

我已经为过滤器尝试了几种方法,一般来说

.|.foo as $path1|.bar as $path2|{"path":?????}

$path1+"/"+$path2 无效。

我应该更换什么?????以获得想要的结果?

你真的很亲近。我认为你只需要一些括号:

.|.foo as $path1|.bar as $path2|{"path":($path1 + "/" + $path2)}

或者只是:

{"path":(.foo + "/" + .bar)}

或者更好(如果需要转换为字符串):

{"path": "\(.foo)/\(.bar)"}