我有一个包含JSONObjects的ArrayList的有效负载的流变量
[{{"SeatFrom":"11","SeatThru":"12","InHandDate":"3/25/15","Quantity":"2"}, {{"SeatFrom":"10","SeatThru":"10","InHandDate":"3/20/15","Quantity":"1"},.....]
我已将此设置为有效负载并以2批次的方式遍历arraylist
<set-payload value="#[flowVars['toUpdate']]" doc:name="Set Payload"/>
<foreach collection="#[message.payload]" batchSize="2" doc:name="For Each">
<logger message="#[payload]" level="INFO" doc:name="Logger"/> </for-each>
但是记录器正在打印出对象细节而不是内容。我甚至试图在有效载荷上做一个toString(),但它没有用。我该如何更正我的代码?
答案 0 :(得分:2)
如果您期望使用json数组,我会将returnClass设置为java.util.HashMap []以返回HashMaps数组:
<flow name="jsontest">
<poll doc:name="Poll">
<set-payload value="[{"prop" : "value"},{"prop" : "value"}]" doc:name="Set Payload"/>
</poll>
<json:json-to-object-transformer
returnClass="java.util.HashMap[]" doc:name="JSON to Object"/>
<foreach doc:name="For Each">
<logger level="INFO" message="Prop: #[payload.prop]" doc:name="Logger"/>
</foreach>
</flow>