在mulesoft中将管柱拆分为多个FlowVar

在mulesoft中将管柱拆分为多个FlowVar,mule,anypoint-studio,dataweave,Mule,Anypoint Studio,Dataweave,我有一个50个字符的字符串,我想从中提取3个较小的部分。我试过了 %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) }) 但这是行不

我有一个50个字符的字符串,我想从中提取3个较小的部分。我试过了

%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)
 })
但这是行不通的。有什么建议吗?

字符串上的“子字符串”操作使用方括号表示位置

id: payload01[0..2]
有关更多信息,请访问Dataweave Operators文档,

我尝试了第二个方向,但它不起作用。获取错误:com.mulesoft.weave.mule.exception.WeaveExecutionException:执行时异常:有效负载映射((payload01,indexOfPayload01)->{^发现'map'运算符的类型不匹配:string,:function required:array,:function。我的输入字符串以01Ram prakash23开头。是否可以发布完整的输入?是否是重复元素?如果不是,则不需要“map”指令,只需使用,{id:payload[0..2],name:payload[2..14],age:payload即可[14..16]}这是一个示例输入,我只关心前15个字符的id、名称和年龄。“03Sri Prakash26 Arlington VA”您是否尝试过我之前关于从dw代码中删除映射的评论。%dw 1.0%输出应用程序/json---{id:payload[0..1],名称:payload[2..14],年龄:payload[14..16]}