想从我的json有效负载中提取每个对象,如下所示:需要将每个对象从此映射传递到拆分器或集合拆分器。我不能在这里使用foreach范围。
[
{
"Name": null,
"Key": "4",
"Header": {
"Id": "14"
}
},
{
"Name": null,
"Key": "5",
"Header": {
"Id": "15"
}
}
]
答案 0 :(得分:0)
要从数组中获取整个对象,我们可以使用简单的#[payload],这样就可以像每个范围一样。
答案 1 :(得分:0)
如果要解析并访问JSON元素
**<json:json-to-object-transformer/>**
是实现这一诀窍的方法。
的 java.util.HashMap or java.util.List or java.util.Map
强>
取决于您的JSON数据的类型。
您也可以使用 java.lang.Object
答案 2 :(得分:0)
有多种方法可以做到这一点: 1)如Vijay所述,使用json-to-object转换器将输入json映射到任何Collection类型,例如
<json:json-to-object-transformer returnClass="java.util.List" doc:name="JSON to Object"/>
<collection-splitter doc:name="Collection Splitter"/>
2)使用dataweave从输入的json数据中获取Collection:
<dw:transform-message doc:name="Transform Message">
<dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
payload
]]></dw:set-payload>
</dw:transform-message>
<collection-splitter doc:name="Collection Splitter"/>