Mule-解析CSV基于CSV标题哈希映射的值araylist
问题描述:
我有一个简单CSVMule-解析CSV基于CSV标题哈希映射的值araylist
TYPE,DATE,NAME SERIAL,20170808,TR NUEROUS,20160608,WB
这是我的用于转换到CSV的包含HashMap数组列表(当前使用索引)流动
<set-property propertyName="Content-Type" value="text/csv"
mimeType="application/csv" doc:name="Property"/>
<dw:transform-message doc:name="Transform Message">
<dw:input-payload doc:sample="sample_data/string.dwl" mimeType="application/csv"/>
<dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
payload map ((payload , indexOfPayload) -> {
operationType:payload[0],
issueDate:payload[1],
issueNumber:payload[2]
})]]></dw:set-payload>
</dw:transform-message>
事情是目前我正在使用索引,但什么时候头部CSV索引将被改变?所以我需要根据csv头名进行解析。例如
operationType: payload.TYPE
如何做到这一点?谢谢
答
您可以通过使用标题列名作为获取价值的关键来实现此目的。
<dw:transform-message doc:name="Transform Message">
<dw:input-payload mimeType="application/csv"/>
<dw:set-payload><![CDATA[%dw 1.0
%output application/java
---
payload map ((payload , indexOfPayload) -> {
operationType:payload.TYPE,
issueDate:payload.DATE,
issueNumber:payload.NAME
})]]></dw:set-payload>
</dw:transform-message>
当标题=真然后你可以通过名字输入中访问字段的任何地方。例如:payload.userName。
当标题=假则必须通过索引来访问的字段,第一个引用该条目,然后领域,例如:有效载荷[107] [2]
希望这有助于。
我已经把标题放入了' ',它起作用了!非常感谢你 –
Bubosam