首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mulesoft DataWeave:变换平面列表

Mulesoft DataWeave:变换平面列表
EN

Stack Overflow用户
提问于 2016-02-10 10:11:56
回答 1查看 1.9K关注 0票数 1

我对DataWeave比较陌生,我想知道如何/是否可以使用DataWeave而不是Java转换器来转换如下所示的消息。

如果我有以下用户的JSON负载,以及一个组和一个子组:

代码语言:javascript
复制
[{
    "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转换会是什么样子:

代码语言:javascript
复制
[   
    {
        "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"]
        }]
    }

]

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2016-02-10 14:33:29

有关DataWeave的开发,请参考DataWeave Reference Documentation。在这种情况下,您可以参阅按…分组一节。要转换上面的消息,请尝试以下脚本:

代码语言:javascript
复制
%dw 1.0
%output application/json
---
payload groupBy $.GROUP pluck {
    GROUP: $$,
    SUBGROUPS: $ groupBy $.SUBGROUP pluck {
        NAME: $$,
        USERS: $.USER
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35305716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档