我对DataWeave比较陌生,我想知道如何/是否可以使用DataWeave而不是Java转换器来转换如下所示的消息。
如果我有以下用户的JSON负载,以及一个组和一个子组:
[{
"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"]
}]
}
]谢谢你的帮助!
发布于 2016-02-10 14:33:29
有关DataWeave的开发,请参考DataWeave Reference Documentation。在这种情况下,您可以参阅按…分组一节。要转换上面的消息,请尝试以下脚本:
%dw 1.0
%output application/json
---
payload groupBy $.GROUP pluck {
GROUP: $$,
SUBGROUPS: $ groupBy $.SUBGROUP pluck {
NAME: $$,
USERS: $.USER
}
}https://stackoverflow.com/questions/35305716
复制相似问题