2016-10-26 37 views
0

我將X12輸入轉換爲java,然後將其轉換爲csv。當我轉換成csv時,我只想要幾個字段進行映射。如果我寫在dataweave下面的代碼,然後它工作正常:將java中的x12消息轉換爲dataweave中的csv

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 

我的代碼一起的是providerId和用戶名映射的控制編號爲:

%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 
} 
] 

回答

0

這應該在你的情況下工作,

%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 
} 
] 

希望這會有所幫助。

+0

我試過了,但它說不能將空值強制爲字符串 –

+0

可能有些字段爲空,您可以嘗試使用空值檢查。請發佈樣本數據並更改其值,以便我可以爲您提供更多幫助。 – AnupamBhusari

相關問題