Groovy中如何遍历对象数组?代码报错求解决方案
Groovy遍历对象数组报错解决方法
错误原因
你代码里的[{asset_key = helloWorld}, {asset_key = Demo}],每个{}定义的是Groovy闭包而非Map对象。闭包里的asset_key = helloWorld是试图给变量赋值,并非定义Map键值对,遍历访问.asset_key时会触发MissingPropertyException;同时helloWorld和Demo未加引号会被识别为未定义变量,也会引发问题。
修正后的代码
方法1:标准Map语法(推荐)
将数组元素改为Map对象,用:分隔键值对,字符串值加引号:
def map = [{asset_key: 'helloWorld'}, {asset_key: 'Demo'}] for(item in map){ println(item.asset_key) }
方法2:Groovy简化遍历写法
用each方法遍历,代码更简洁:
def map = [{asset_key: 'helloWorld'}, {asset_key: 'Demo'}] map.each { println(it.asset_key) }
输出结果
helloWorld Demo
内容的提问来源于stack exchange,提问作者MohanK
相关产品推荐
相关产品推荐

