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

使用jq解析AWS Secrets Manager返回JSON时遇语法错误:意外'['

问题排查与解决

错误原因

你的jq语法存在两个问题:

  • 语法错误:.SecretString.[$keyvar]中,.SecretString后面多了一个多余的点,jq的方括号属性访问语法不需要这个额外的点。
  • 未解析嵌套JSON:AWS Secrets Manager返回的SecretString字段是JSON格式的字符串,而非直接可访问的JSON对象,直接取值会无法识别内部的键值对。

修正后的脚本

db_secret_data=$(aws secretsmanager get-secret-value --secret-id "$db_secret_name" --output json)
    
echo "$db_secret_data"
 
db_secret_str=$(echo "$db_secret_data" | jq --arg keyvar "${uid_str}-TY" '.SecretString | fromjson | .[$keyvar]' -r)

关键修正说明

  1. 移除.SecretString后的多余点,修复基础语法错误。
  2. 通过| fromjson将SecretString字段的JSON字符串解析为可操作的JSON对象。
  3. 解析完成后,使用.[$keyvar]通过变量指定的键名获取对应的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 08:33:18