我的数据位于以下json数组中:
[{ "min": 1, "max": 2},
{ "min": 5, "max": 6}]
,我需要使用以下格式:
1-2,5-6
我尝试了以下过滤器:
.[] | [ .min, .max|tostring ] | join("-")
我最终有:
"1-2"
"5-6"
我不知道如何从表达式到所需的“ 1-2”,“ 5-6”。 我是jq的新手,希望能收到任何提示。
答案 0 :(得分:3)
[-0.3, 0.15, 0.2, 0.7] # modify arr[1] rather than arr[2]
如果jq的版本足够新,则可以将呼叫挂断到jq -r 'map([.min, .max|tostring] | join("-")) | join(",")' input.json
1-2,5-6
。
如果min / max元素始终按此顺序排列,并且没有其他键,则您可以考虑:
tostring
答案 1 :(得分:2)