如何在jq中重复输出指定字段的取值?
在jq中重复输出取值的方法
这里有两种简单的方法可以实现将.address的取值重复输出四次:
方法一:数组构造+展开
先获取目标值,构造包含四个该值的数组,再遍历数组输出每个元素:
.address | [., ., ., .] | .[]
执行后会每行输出一次"Times Square, New York",共四行。
方法二:变量存储+循环
把目标值存入变量,通过循环四次输出变量内容:
.address as $addr | range(4) | $addr
range(4)会生成0到3的序列,每次循环都输出预先存储的.address值,效果和方法一一致。
输出为JSON数组
如果需要将结果以JSON数组形式输出(而非单行单个值),只需保留数组构造部分即可:
.address | [., ., ., .]
输出结果为:
["Times Square, New York", "Times Square, New York", "Times Square, New York", "Times Square, New York"]
注意:不要使用repeat(4),这个函数是将字符串本身重复拼接(比如把目标字符串连写四次),不符合你需要的独立输出四次的需求。
内容的提问来源于stack exchange,提问作者Ayman.1302
相关产品推荐
相关产品推荐

