在Dataweave Mule 4中拆分值

问题描述

我正在尝试使用正则表达式拆分输入值。 我的输入将是这样

“ salesforce.com/jobs/2020/06-2020”

下面使用的表达式

%dw 2.0
output application/json
---
"FName": vars.Folderstruct splitBy(/[\/]/)

输出

{
  "FName": [
    "salesforce.com","jobs","2020","06-2020"
  ]
}

但是我需要这样的输出

{
    "FName":"salesforce.com"
},{
    "FName":"jobs"
},{
    "FName":"2020"
},{
    "FName":"06-2020"
}

我如何通过转换实现这一目标?

解决方法

有了包含值的列表后,您需要为每个对象创建一个新对象,为此,您可以使用如下的map函数:

%dw 2.0
output application/json
---
vars.Folderstruct splitBy(/[\/]/) map ((item,index) -> 
  {
    FName: item
  }
)