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

如何在bash中使用jq提取JSON中指定ID对应的relatives字段值

问题根因
  • jq表达式里写的.ID是固定匹配键名为ID的字段,不会自动读取你Shell中导出的ID环境变量,jq默认无法直接获取Shell侧的变量值
  • 从给出的JSON结构来看,relatives字段嵌套在connections对象下,之前写的路径缺失了connections层级,匹配不到目标字段
可直接用的修正代码

保持第一行export ID=1不变,只修改第二行命令即可:

export ID=1
curl 'url.json' | jq -r --arg target_id "$ID" '.[$target_id].connections.relatives'
参数说明
  • --arg target_id "$ID":将Shell中ID变量的值传入jq内部变量target_id,通过.[$target_id]动态匹配对应数字ID的顶层键
  • 路径补全了connections层级,完全匹配给出的JSON结构中relatives的嵌套位置
  • -r参数会直接输出原始文本内容,不会额外包裹JSON格式的双引号

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 19:57:11