2017-10-04 40 views
0

我有一個簡單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 

如何做到這一點?謝謝

回答

2

您可以通過使用標題列名作爲獲取價值的關鍵來實現此目的。

<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> 

Mule documentation

當標題=真然後你可以通過名字輸入中訪問字段的任何地方。例如:payload.userName。

當標題=假則必須通過索引來訪問的字段,第一個引用該條目,然後領域,例如:有效載荷[107] [2]

希望這有助於。

+0

我已經把標題放入了'',它起作用了!非常感謝你 – Bubosam