我试图访问mule中数组Array的每个子数组中每个第2个元素的值。例如,这是我的有效负载(存储在flowVar中)。
InputPayload = [[JAAW,3000.0,EQtEAM],[JAAW,233333.0,3EAM]]
我试图在迭代中访问每个数组的第二个元素,所以我执行以下操作:
<foreach collection="#[flowVars.InputPayload]" counterVariableName="i" doc:name="For Each" >
<set-variable variableName="ID" value="#[flowVars.InputPayload[i][2]]" doc:name="Variable"/>
但是我的代码中断了以下错误:
消息:执行表达式&#34; flowVars.InputPayload [i] [2]&#34;失败。 (org.mule.api.expression.ExpressionRuntimeException)。消息有效内容的类型为:ArrayList,
如何访问每个第二个元素的值?
答案 0 :(得分:0)
没有读取有效载荷,这就是问题
答案 1 :(得分:0)
显然,错误是由不正确的索引分配#[flowVars.InputPayload[i][2]]
(java.lang.IndexOutOfBoundsException)引起的。索引从1开始,在第二次迭代期间发生错误。
恕我直言,有两种方法可以解决这个问题:
#[flowVars.InputPayload[i - 1][2]]
#[payload[2]]