使用 Dataweave 拆分 table 列中的串联值
Splitting concatenated values in table column using Dataweave
我的 Salesforce table 中有示例数据,如下所示:
我在使用 Mule 3.9 和 运行 dataweave 1.0。
我需要使用 dataweave 读取上述数据(来自 Salesforce table)并将其转换为 JSON,如下所示:
[
{"Id": "634594cc","Name": "Alpha","List": "AB01"},
{"Id": "634594cc","Name": "Alpha","List": "AB02"},
{"Id": "634594cc","Name": "Alpha","List": "AB03"},
{"Id": "5d839e9c","Name": "Bravo","List": "CD01"},
{"Id": "5d839e9c","Name": "Bravo","List": "CD02"},
{"Id": "3a5f34d3","Name": "Charlie","List": null}
]
正如您在上面看到的,"List" 列是我需要在最后的 JSON 中拆分为单独数组的内容。开头、中间和结尾都有分号的数据。
在此先感谢您的帮助。
我冒昧地创建了几个基于 SS 的示例数据(顺便说一句,最好不要使用 SS :)。
试试这个:
%dw 1.0
%output application/dw
%var data = [
{
id: "ABC123",
name: "A",
list: ";AB1;AB2;AB3;"
},
{
id: "ZXY321",
name: "B",
list: null
}
]
---
data reduce (e,result=[]) -> (
result ++ using (
list = e.list default "" splitBy /;/ filter ($ != ""),
sharedFields = {
Id: e.id,
Name: e.name
}
) (
using (
flist = list when ((sizeOf list) > 0) otherwise [null]
) (
flist map {
(sharedFields),
List: $
}
)
)
)
我的 Salesforce table 中有示例数据,如下所示:
我在使用 Mule 3.9 和 运行 dataweave 1.0。 我需要使用 dataweave 读取上述数据(来自 Salesforce table)并将其转换为 JSON,如下所示:
[
{"Id": "634594cc","Name": "Alpha","List": "AB01"},
{"Id": "634594cc","Name": "Alpha","List": "AB02"},
{"Id": "634594cc","Name": "Alpha","List": "AB03"},
{"Id": "5d839e9c","Name": "Bravo","List": "CD01"},
{"Id": "5d839e9c","Name": "Bravo","List": "CD02"},
{"Id": "3a5f34d3","Name": "Charlie","List": null}
]
正如您在上面看到的,"List" 列是我需要在最后的 JSON 中拆分为单独数组的内容。开头、中间和结尾都有分号的数据。
在此先感谢您的帮助。
我冒昧地创建了几个基于 SS 的示例数据(顺便说一句,最好不要使用 SS :)。
试试这个:
%dw 1.0
%output application/dw
%var data = [
{
id: "ABC123",
name: "A",
list: ";AB1;AB2;AB3;"
},
{
id: "ZXY321",
name: "B",
list: null
}
]
---
data reduce (e,result=[]) -> (
result ++ using (
list = e.list default "" splitBy /;/ filter ($ != ""),
sharedFields = {
Id: e.id,
Name: e.name
}
) (
using (
flist = list when ((sizeOf list) > 0) otherwise [null]
) (
flist map {
(sharedFields),
List: $
}
)
)
)