Mule 组合数组元素并重新格式化输出
我有一个输入JSON,我想使用Mule的Dataweave2.0转换它 下面是输入JSONMule 组合数组元素并重新格式化输出,mule,dataweave,mule4,Mule,Dataweave,Mule4,我有一个输入JSON,我想使用Mule的Dataweave2.0转换它 下面是输入JSON [ { "data1": { "role": "analyst", "name": "ABC" }, "data2": { "role": "analyst", "name": "DEF" } }, { "data1
[
{
"data1": {
"role": "analyst",
"name": "ABC"
},
"data2": {
"role": "analyst",
"name": "DEF"
}
},
{
"data1": {
"role": "RM",
"name": "PQRS"
},
"data2": {
"role": "analyst",
"name": "QWE"
}
}
]
我们希望输出如下:
[
{
"role": "analyst",
"name": "ABC"
},
{
"role": "analyst",
"name": "DEF"
},
{
"role": "RM",
"name": "PQRS"
},
{
"role": "analyst",
"name": "QWE"
}
]
我尝试了不同的选择使用地图,拔毛和展平,但无法得到解决方案。请帮助我使用此转换函数。如果响应对象的顺序很重要:
%dw 2.0
output application/json
---
flatten (payload map (flatten $))
%dw 2.0
output application/json
---
payload.data1 ++ payload.data2
如果订单不重要:
%dw 2.0
output application/json
---
flatten (payload map (flatten $))
%dw 2.0
output application/json
---
payload.data1 ++ payload.data2
如果响应对象的顺序很重要:
%dw 2.0
output application/json
---
flatten (payload map (flatten $))
%dw 2.0
output application/json
---
payload.data1 ++ payload.data2
如果订单不重要:
%dw 2.0
output application/json
---
flatten (payload map (flatten $))
%dw 2.0
output application/json
---
payload.data1 ++ payload.data2
如果您想维持订单,您可以: 1) 使用
reduce
遍历元素,对于数组中的每个对象,累加data1
和data2
%dw 2.0
output application/json
---
payload reduce (item, acc = []) -> (acc << item.data1 << item.data2)
如果您想维持订单,您可以: 1) 使用
reduce
遍历元素,对于数组中的每个对象,累加data1
和data2
%dw 2.0
output application/json
---
payload reduce (item, acc = []) -> (acc << item.data1 << item.data2)