2017-09-20 35 views
0

我有一個包含50個字符的字符串,我想從中提取3個較小的部分。我試過將字符串拆分成mulesoft中的多個流程圖

%dw 1.0 %output application/json 
--- 
payload map ((payload01 , indexOfPayload01) -> {  
    id: payload01.substring(0,2), 
     name: payload01.substring(2,14), 
     age: payload01.substring(14,16) 
}) 

但是,這是行不通的。有什麼建議麼?

回答

1

字符串上的「substring」操作使用方括號來表示位置。

id: payload01[0..2] 

參觀Dataweave運營商文檔以獲取更多信息, https://docs.mulesoft.com/mule-user-guide/v/3.8/dataweave-operators#substring

+0

我想第二ooption它不工作。收到錯誤: com.mulesoft.weave.mule.exception.WeaveExecutionException:異常而執行: 有效載荷映射((payload01,indexOfPayload01) - > { ^ 用於發現 '地圖' 操作者 類型不匹配:字符串,:功能 required:array,:function。 我的輸入字符串以類似 01Ram Prakash23 – TastyCode

+0

開頭請問您是否需要發佈完整的輸入?是否爲重複性元素?如果不是,則不需要「map」指令,只是使用,{id:payload [0..2],\t name:payload [2..14],age:payload [14..16]} –

+0

這是一個示例輸入,我只關心id,name和age這是前15個字符。「03Sr我Prakash26阿靈頓弗吉尼亞州「 – TastyCode