2017-09-20 36 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