我有一个以下 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的新手,希望能得到任何提示。
jq -r 'map([.min, .max|tostring] | join("-")) | join(",")' input.json 1-2,5-6 如果您使用的是足够新的jq版本,可以省略对tostring的调用。 如果最小/最大元素始终按照那个顺序排列,并且没有其他键,则可以考虑: map([.[]] | join("-")) | join(",")