代码之家  ›  专栏  ›  技术社区  ›  MarkyMark

Mule-基于CSV头值将CSV解析为哈希映射的ArrayList

  •  0
  • MarkyMark  · 技术社区  · 8 年前

    TYPE,DATE,NAME SERIAL,20170808,TR NUEROUS,20160608,WB

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

    operationType: payload.TYPE
    

    怎么做?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Community CDub    5 年前

    您可以通过使用标题列名作为获取值的键来实现这一点。

    <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

    当header=true时,您可以通过名称访问输入中的任何字段。例如:有效载荷。用户名。

    当header=false时,必须通过索引访问字段,首先引用条目,然后引用字段,例如:有效载荷[107][2]

    希望这有帮助。

    推荐文章