Mule 使用Dataweave映射到json的列表

Mule 使用Dataweave映射到json的列表,mule,dataweave,Mule,Dataweave,对于下面的示例,如何使用dataweave将映射列表转换为json 输入是地图列表。例如,它有3个元素id、value1、value2 [ { "id" : "123", "value1" : "678" "value2" : "900" }, { "id" : "456", "value1" : "679", "value2" : "901" } ] 预期产出: 根

对于下面的示例,如何使用dataweave将映射列表转换为json

输入是地图列表。例如,它有3个元素id、value1、value2

[
    {
        "id" : "123",
        "value1" : "678"
        "value2" : "900"
    },
    {
        "id" : "456",
        "value1" : "679",
        "value2" : "901"
    }
]
预期产出:

根元素是数据,ID123的值是键,value2、Value3是对象中的元素

{
    "data" : {
        "123" : {
            "value1" : "678",
            "value2" : "900"
        },
        "456" : {
            "value1" : "679",
            "value2" : "901"
        }
    }
}
我试图实现dataweave脚本,但它没有给出我想要的确切输出。如何编写dataweave脚本来实现这一点

data: ( payload.*id map '$':payload[$$]  - "id") reduce ($$ ++ $)
应该会这样做。

试试下面的脚本

数据:{ 有效载荷图{ $.id为:字符串:$-$.id } }

这里,id用作键,我们从值中删除相应的id