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

如何用jq过滤嵌套对象属性值时获取外层对象名称

使用jq筛选满足内层属性条件的外层对象名称

核心命令

直接用to_entries将外层对象转为键值对数组,再筛选提取目标名称:

jq 'to_entries[] | select(.value.prop2 == "yyyy") | .key' your-file.json

命令解释

  • to_entries:把外层的JSON对象转换为键值对数组,每个元素结构为{"key": "外层对象名称", "value": 内层属性集合}
  • select(.value.prop2 == "yyyy"):过滤出内层prop2属性值等于"yyyy"的键值对
  • .key:提取符合条件的外层对象名称

示例输出

执行上述命令后,输出带引号的字符串结果:

"anothername"
"fubar"

如果需要无引号的纯文本结果,添加-r(raw output)参数:

jq -r 'to_entries[] | select(.value.prop2 == "yyyy") | .key' your-file.json

输出:

anothername
fubar

内容的提问来源于stack exchange,提问作者David M. Karr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 15:12:03