jq合并json数组元素

时间:2018-12-10 16:27:17

标签: json jq

我的数据位于以下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的新手,希望能收到任何提示。

2 个答案:

答案 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)

也可以将string interpolationBar结合使用:

join

感谢peak的想法。