使用 Mule 数据编织重新排列地图列表
Rearrange the list of maps using Mule data weave
我的输入是地图列表。
例如:
> [ { "key1" : "val1", "key2" : [item1,item2], "key3" : "obj1" }, {
> "key1" : "val2", "key2" : [item3,item4, item5], "key3" : "obj2" } ]
key2 值可以是一个列表。
期望输出:
输出应该是具有以下结构的对象列表。
[
{
"key1" : "val1",
"key2" : "item1",
"key3" : "obj1"
},
{
"key1" : "val1",
"key2" : "item2"
"key3" : "obj1"
},
{
"key1" : "val2",
"key2" : "item3",
"key3" : "obj2"
},
{
"key1" : "val2",
"key2" : "item4"
"key3" : "obj2"
},
{
"key1" : "val2",
"key2" : "item5"
"key3" : "obj2"
}
]
我如何使用数据编织来做到这一点?
您必须在 key2
上使用嵌套迭代。以下代码工作正常
%dw 1.0
%output application/json
---
flatten (payload map ((parent,pIndex) -> (
parent.key2 map {
key1 : parent.key1,
key2 : $,
key3 : parent.key3
}
)))
希望对您有所帮助。
您可以使用以下内容:
%dw 1.0
%输出application/json
%var 索引 = 1
有效载荷图((payload01,indexOfPayload01)-> {
key1 : payload01.key1,
key2 :payload01[索引].key2,
key3 : payload01.key3
})
您提供的输入似乎有问题。 [
{
"key1" : "val1",
"key2" : ["item1","item2"],
"key3" : "obj1"
},
{
"key1" : "val2",
"key2" : ["item3","item4","item5"],
"key3" : "obj2"
}
]
这应该是正确的要求。
由于 key2 是一个数组,您应该使用 map 运算符遍历它并形成您希望的 json 最终对象
我的输入是地图列表。
例如:
> [ { "key1" : "val1", "key2" : [item1,item2], "key3" : "obj1" }, {
> "key1" : "val2", "key2" : [item3,item4, item5], "key3" : "obj2" } ]
key2 值可以是一个列表。
期望输出:
输出应该是具有以下结构的对象列表。
[
{
"key1" : "val1",
"key2" : "item1",
"key3" : "obj1"
},
{
"key1" : "val1",
"key2" : "item2"
"key3" : "obj1"
},
{
"key1" : "val2",
"key2" : "item3",
"key3" : "obj2"
},
{
"key1" : "val2",
"key2" : "item4"
"key3" : "obj2"
},
{
"key1" : "val2",
"key2" : "item5"
"key3" : "obj2"
}
]
我如何使用数据编织来做到这一点?
您必须在 key2
上使用嵌套迭代。以下代码工作正常
%dw 1.0
%output application/json
---
flatten (payload map ((parent,pIndex) -> (
parent.key2 map {
key1 : parent.key1,
key2 : $,
key3 : parent.key3
}
)))
希望对您有所帮助。
您可以使用以下内容:
%dw 1.0 %输出application/json
%var 索引 = 1
有效载荷图((payload01,indexOfPayload01)-> { key1 : payload01.key1, key2 :payload01[索引].key2, key3 : payload01.key3 })
您提供的输入似乎有问题。 [ { "key1" : "val1", "key2" : ["item1","item2"], "key3" : "obj1" }, { "key1" : "val2", "key2" : ["item3","item4","item5"], "key3" : "obj2" } ] 这应该是正确的要求。
由于 key2 是一个数组,您应该使用 map 运算符遍历它并形成您希望的 json 最终对象