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

jq如何筛选指定ID值的JSON路径并输出点分隔格式路径

解决方案

直接执行以下jq命令即可得到预期结果:

jq -r 'paths(select(.ID == "something")) | join(".") + ".ID"' target.json
  • paths(select(.ID == "something")):递归遍历所有JSON节点,仅保留直接下属ID键值为something的父节点路径,自动过滤B.ID这类值不匹配的项
  • join("."):将jq默认返回的数组格式路径,拼接为点分隔的字符串
  • -r参数:启用原始输出模式,结果不会额外包裹JSON格式的双引号
  • 末尾拼接".ID":补全完整路径,因为上述匹配逻辑定位到的是ID键的上一级父节点

输出结果

针对提供的示例JSON,命令执行后输出如下,完全匹配预期:

A.ID
C.ID
D.E.ID

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:09:18