Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mulesoft DataWeave:转换平面列表_Mule_Mule Studio_Anypoint Studio_Dataweave - Fatal编程技术网

Mulesoft DataWeave:转换平面列表

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" }, {

我对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"]
        }]
    }

]

谢谢你的帮助

有关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
    }
}

伟大的!谢谢你的帮助-很有魅力。也谢谢你的文档链接。太好了!谢谢你的帮助-很有魅力。还感谢您提供文档的链接。