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

Jenkins Groovy读取JSON数组时使用变量传参报错如何解决

正确实现写法

Groovy 中使用动态变量作为 Map 的 key 取值,采用中括号包裹变量的语法即可,示例如下:

def app = "app_name"
// 直接用中括号传入变量作为key取值
def isTwExist = commonConfig.configuration.Cache_list[app].contains("tw")

如果是在 GString 插值场景中使用,写法如下:

def app = "app_name"
def logContent = "校验结果:${commonConfig.configuration.Cache_list[app].contains('tw')}"
错误原因说明
  • 你从JSON文件解析得到的Cache_list在Groovy中本质是Map结构,点操作符Cache_list.app_name是静态取固定key的语法,只能读取字面量为app_name的属性,不支持动态变量替换。
  • 你尝试的$app是GString的插值语法,不能直接跟在点操作符后作为动态属性名使用,不符合Groovy的语法规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:27:07