Mulesoft DataWeave:转换平面列表
我对DataWeave比较陌生,我想知道如何/是否可以使用DataWeave而不是Java转换器来转换下面这样的消息 如果我有以下JSON用户负载,包括组和子组:Mulesoft DataWeave:转换平面列表,mule,mule-studio,anypoint-studio,dataweave,Mule,Mule Studio,Anypoint Studio,Dataweave,我对DataWeave比较陌生,我想知道如何/是否可以使用DataWeave而不是Java转换器来转换下面这样的消息 如果我有以下JSON用户负载,包括组和子组: [{ "GROUP": "GROUP_A", "SUBGROUP": "SUBGROUP A1", "USER": "USER 1" }, { "GROUP": "GROUP_B", "SUBGROUP": "SUBGROUP B1", "USER": "USER 1" }, {
[{
"GROUP": "GROUP_A",
"SUBGROUP": "SUBGROUP A1",
"USER": "USER 1"
}, {
"GROUP": "GROUP_B",
"SUBGROUP": "SUBGROUP B1",
"USER": "USER 1"
}, {
"GROUP": "GROUP_B",
"SUBGROUP": "SUBGROUP B1",
"USER": "USER 2"
}, {
"GROUP": "GROUP_B",
"SUBGROUP": "SUBGROUP B2",
"USER": "USER 3"
}, {
"GROUP": "GROUP_B",
"SUBGROUP": "SUBGROUP B2",
"USER": "USER 4"
}, {
"GROUP": "GROUP_B",
"SUBGROUP": "SUBGROUP B2",
"USER": "USER 5"
}]
DataWeave转换将有效负载转换为如下结构的内容是什么样子的:
[
{
"GROUP": "GROUP_A",
"SUBGROUPS": [{
"NAME": "SUBGROUP A1",
"USERS": ["USER 1"]
}]
}, {
"GROUP": "GROUP_B",
"SUBGROUPS": [{
"NAME": "SUBGROUP B1",
"USERS": ["USER 1", "USER 2"]
}, {
"NAME": "SUBGROUP B2",
"USERS": ["USER 3", "USER 4", "USER 5"]
}]
}
]
谢谢你的帮助 有关DataWeave开发,请参阅。在这种情况下,您可以参考“分组方式…”一节…。要转换上述消息,请尝试以下脚本:
%dw 1.0
%output application/json
---
payload groupBy $.GROUP pluck {
GROUP: $$,
SUBGROUPS: $ groupBy $.SUBGROUP pluck {
NAME: $$,
USERS: $.USER
}
}
有关DataWeave开发,请参阅。在这种情况下,您可以参考“分组方式…”一节…。要转换上述消息,请尝试以下脚本:
%dw 1.0
%output application/json
---
payload groupBy $.GROUP pluck {
GROUP: $$,
SUBGROUPS: $ groupBy $.SUBGROUP pluck {
NAME: $$,
USERS: $.USER
}
}
伟大的!谢谢你的帮助-很有魅力。也谢谢你的文档链接。太好了!谢谢你的帮助-很有魅力。还感谢您提供文档的链接。