得到 json 以 jq 逗号分隔的输出 复制我的输出

get json output with jq comma separated duplicate my output

我试图在同一行以逗号分隔获取 2 json 个查询寄存器,但总是重复我的输出。 请问你能帮帮我吗?谢谢

bash-4.2$ rm run works:status::get -s "ctm=SERVERA&work=*&status=Failed" | $PATH_API/jq -r '.statuses[].name, .statuses[].jobId  // empty' --raw-output
JOBA
JOBA
SERVERA:0rhh0
SERVERA:0rhgz

bash-4.2$
bash-4.2$ rm run works:status::get -s "ctm=SERVERA&work=*&status=Failed" | $PATH_API/jq -r '"\(.statuses[].name), \(.statuses[].jobId)"'  --raw-output
JOBA, SERVERA:0rhh0
JOBA, SERVERA:0rhh0
JOBA, SERVERA:0rhgz
JOBA, SERVERA:0rhgz

你应该只枚举一次:

.statuses[] | "\(.name), \(.jobId)"

顺便说一下,您可能希望考虑使用 @csv 而不是插值。