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

如何使用多个环境变量通过jq从JSON中获取数据

解决jq双变量访问JSON属性的语法问题

你的命令报错是因为jq语法使用错误,当用变量作为对象键名时,不能写成.[$v1].[$v2],正确写法有两种:

写法一:连续索引访问

直接用连续方括号索引嵌套访问:

VAR1="a1"
VAR2="b1"
jq --arg v1 "$VAR1" --arg v2 "$VAR2" '.[$v1][$v2]' data.json

写法二:管道分步访问

通过管道符将第一步结果传递给第二步,再用变量索引:

VAR1="a1"
VAR2="b1"
jq --arg v1 "$VAR1" --arg v2 "$VAR2" '.[$v1] | .[$v2]' data.json

原理说明

jq中,.后面直接跟键名(比如.b1)是针对字面量键名的写法;如果键名是变量(比如$v2),必须用[]索引语法。你之前的写法错误混用了两种语法,导致无法正常解析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 18:32:10