【问题标题】:Converting from x12 message in java to csv in dataweave从java中的x12消息转换为dataweave中的csv
【发布时间】:2016-10-27 17:55:20
【问题描述】:

我正在将 X12 输入转换为 java,然后将其转换为 csv。当我转换为 csv 时,我只想映射几个字段。如果我在 dataweave 中编写以下代码,那么它可以正常工作:

payload.Detail."2000_Loop" map {
    Provider_ID: $."0030_PRV".PRV01,
    Subscriber_Name: $."0050_SBR".SBR04
}

但我也想映射控制号,所以当我映射它时,它会说:

com.mulesoft.weave.mule.exception.WeaveExecutionException: Exception while executing: 
    payload.SetHeader.ST02 as :string,
    ^
Cannot coerce a :string to a :object

我用于映射控制号码以及提供者和订阅者名称的代码是:

%dw 1.0
%output application/csv
---
[
    payload.SetHeader.ST02 as :string,

    payload.Detail."2000_Loop" map {
    Provider_ID: $."0030_PRV".PRV01,
    Subscriber_Name: $."0050_SBR".SBR04
}
]

【问题讨论】:

    标签: csv mule mule-studio mule-component dataweave


    【解决方案1】:

    这应该适用于您的情况,

    %dw 1.0
    %output application/csv
    ---
    flatten [
        data : payload.SetHeader.ST02 as :string,
    
        payload.Detail."2000_Loop" map {
        Provider_ID: $."0030_PRV".PRV01,
        Subscriber_Name: $."0050_SBR".SBR04
    }
    ]
    

    希望这会有所帮助。

    【讨论】:

    • 我试过这个,但它说不能将 null 强制转换为字符串
    • 可能有些字段为空,您可以尝试使用空检查。请发布更改值的示例数据,以便我可以为您提供更多帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 2016-03-04
    相关资源
    最近更新 更多