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

如何用jq仅输出不存在some_condition或值为null的displayName

正确的jq命令实现需求

可用命令

jq -r '.entities[] | select(.properties.kubernetesLabels.some_condition == null) | .displayName' file.json

工作原理

  1. .entities[] 遍历entities数组中的每一项
  2. select(...) 筛选出两种情况的对象:
    • some_condition字段本身不存在(jq中访问不存在的字段会返回null)
    • some_condition字段的值为null
  3. .displayName 仅提取符合筛选条件对象的displayName值

测试结果

针对你提供的JSON文件,执行命令后会输出:

host567.abc.com

原命令的问题

你之前的命令用逗号分隔了.displayName和select(...),这会让jq先输出所有对象的displayName,再输出符合select条件的完整对象,自然不符合只输出目标displayName的要求。需要用管道|串联筛选和提取操作,确保只处理符合条件的对象并输出指定字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 14:34:58