Mule 嵌套循环以生成json数组
我需要为输入中的每个对象在json数组中输入两个对象 为此,我编写了以下代码:Mule 嵌套循环以生成json数组,mule,dataweave,mule-esb,mulesoft,Mule,Dataweave,Mule Esb,Mulesoft,我需要为输入中的每个对象在json数组中输入两个对象 为此,我编写了以下代码: %dw 2.0 output application/csv var categoryList = ["Business","Authorization"] --- payload map((payload01,indexOfPayload01)-> categoryList map((payload02,indexOfPayload02)-> { "Name": payload01.Na
%dw 2.0
output application/csv
var categoryList = ["Business","Authorization"]
---
payload map((payload01,indexOfPayload01)->
categoryList map((payload02,indexOfPayload02)->
{
"Name": payload01.Name,
"Category":payload02,
"Code":"Customer",
"Percentage":null,
"End Tag": "End"
})
)
我的输出是:
[
[
{
"Name": "Desc 1",
"Category": "Business",
"Code": "Customer",
"Percentage": null,
"End Tag": "END"
},
{
"Name": "Desc 1",
"Category": "Authorization",
"Code": "Customer",
"Percentage": null,
"End Tag": "END"
}
],
[
{
"Name": "Desc 2",
"Category": "Business",
"Code": "Customer",
"Percentage": null,
"End Tag": "END"
},
{
"Name": "Desc 2",
"Category": "Authorization",
"Code": "Customer",
"Percentage": null,
"End Tag": "END"
}
]
]
但我希望将这些值作为单个json数组。在这里,数据被分离为两个对象。我的预期产出:
[
{
"Name": "Desc 1",
"Category": "Business",
"Code": "Customer",
"Percentage": null,
"End Tag": "END"
},
{
"Name": "Desc 1",
"Category": "Authorization",
"Code": "Customer",
"Percentage": null,
"End Tag": "END"
},
{
"Name": "Desc 2",
"Category": "Business",
"Code": "Customer",
"Percentage": null,
"End Tag": "END"
},
{
"Name": "Desc 2",
"Category": "Authorization",
"Code": "Customer",
"Percentage": null,
"End Tag": "END"
}
]
我怎样才能做到这一点?不用说,我对骡子还不熟悉
谢谢,
Anoop您可以使用我在本例中显示的flatMap,或者将结果展平,如例2所示
%dw 2.0
output application/csv
var categoryList = ["Business","Authorization"]
---
payload flatMap((payload01,indexOfPayload01)->
categoryList map((payload02,indexOfPayload02)->
{
"Name": payload01.Name,
"Category":payload02,
"Code":"Customer",
"Percentage":null,
"End Tag": "End"
})
)
这个例子展示了如何使用flattn
%dw 2.0
output application/csv
var categoryList = ["Business","Authorization"]
---
flatten(payload map((payload01,indexOfPayload01)->
categoryList map((payload02,indexOfPayload02)->
{
"Name": payload01.Name,
"Category":payload02,
"Code":"Customer",
"Percentage":null,
"End Tag": "End"
})
))
您可以使用我在本例中展示的flatMap,或者将结果展平,如例2所示
%dw 2.0
output application/csv
var categoryList = ["Business","Authorization"]
---
payload flatMap((payload01,indexOfPayload01)->
categoryList map((payload02,indexOfPayload02)->
{
"Name": payload01.Name,
"Category":payload02,
"Code":"Customer",
"Percentage":null,
"End Tag": "End"
})
)
这个例子展示了如何使用flattn
%dw 2.0
output application/csv
var categoryList = ["Business","Authorization"]
---
flatten(payload map((payload01,indexOfPayload01)->
categoryList map((payload02,indexOfPayload02)->
{
"Name": payload01.Name,
"Category":payload02,
"Code":"Customer",
"Percentage":null,
"End Tag": "End"
})
))
谢谢你,马查瓦。压扁是我们所缺少的。谢谢马查瓦尔。平坦是所缺少的一切。