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

如何用jq根据环境变量过滤对象数组并获取首个匹配的tab_id

使用jq从JSON数组中提取首个匹配环境变量的tab_id

需求说明

从包含tab_id和pane_id字段的JSON对象数组中,找到首个pane_id值与指定环境变量匹配的对象,提取其tab_id字段值。

解决命令

假设目标环境变量名为TARGET_PANE,可以用以下纯jq命令实现(无需额外管道工具):

jq --arg target "$TARGET_PANE" 'first(.[] | select(.pane_id == ($target | tonumber))).tab_id' input.json

命令解析

  • --arg target "$TARGET_PANE":将环境变量TARGET_PANE的内容传入jq,作为字符串变量target使用
  • first(...):仅保留数组中第一个匹配条件的结果,确保只返回首个匹配的tab_id
  • .[]:遍历输入JSON数组中的每一个对象
  • select(.pane_id == ($target | tonumber)):筛选出pane_id等于目标值的对象(因为--arg传入的是字符串类型,用tonumber转换为数字,与JSON中pane_id的数字类型匹配)
  • .tab_id:提取匹配对象的tab_id字段值

示例验证

以你提供的JSON数组为例,当环境变量TARGET_PANE=2时,运行命令后会输出:

0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 17:59:59