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

如何用jq判断JSON数组中是否存在指定属性的对象

使用jq检查JSON数组中是否存在指定对象

针对你提供的JSON数组,以下是几种用jq工具快速判断是否包含"login": "bar"对象的方法:

方法1:使用any()函数(推荐,最简洁)

any()函数会遍历数组元素,只要有一个元素满足指定条件就返回true,否则返回false。

执行命令:

jq 'any(.[]; .login == "bar")' input.json

或者从管道输入JSON:

cat input.json | jq 'any(.[]; .login == "bar")'

如果存在目标对象,输出结果为true;不存在则输出false。

方法2:过滤后判断结果长度

先筛选出所有login等于"bar"的对象,再通过判断结果数组的长度是否大于0来确定是否存在。

执行命令:

jq '[.[] | select(.login == "bar")] | length > 0' input.json

该命令会先生成匹配对象的数组,再返回长度是否大于0的布尔值,结果同样是true或false。

方法3:直接查看匹配结果

如果需要同时确认匹配对象的具体内容,可以直接筛选输出:

jq '.[] | select(.login == "bar")' input.json

如果存在目标对象,会输出对应的JSON对象;如果没有匹配结果,则无输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 23:15:54