You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jq获取对象数组中指定key对应的所有唯一值

方案1:纯jq实现(推荐,不依赖额外shell命令)

你可以直接使用jq内置的unique函数完成去重,命令如下:

# 输出结果会自动按字母排序,返回无重复的name值
http https://some-endpoint | jq -r 'map(.name) | unique[]'

输出结果:

Joe
Michelle
Steve

如果你需要 保留name在原数组中首次出现的顺序 不需要排序,可以用下面的写法:

http https://some-endpoint | jq -r 'reduce .[] as $item ({}; .[$item.name] = 1) | keys[]'

输出结果(保留原出现顺序):

Joe
Steve
Michelle

方案2:结合shell命令实现

如果你更习惯用shell工具处理,也可以搭配sort的去重参数完成:

# -r 参数让jq输出原始字符串,去掉返回值的双引号
http https://some-endpoint | jq -r '.[] | .name' | sort -u

内容的提问来源于stack exchange,提问作者Johnny Metz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 15:15:00