mule - 嵌套循环生成 json 数组
问题描述
我需要为输入中的每个对象在 json 数组中输入两个对象。
为此,我编写了以下代码:
%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"
}
]
我怎样才能完成这项工作?不用说,我是 Mule 的新手。
谢谢,阿努普
解决方案
您可以使用我在此示例中显示的 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"
})
))
推荐阅读
- java - 异常类已声明但未抛出
- laravel-5 - 安装 laravel-setup-wizard 失败
- javascript - 如何让 Lambda 最后用新参数调用自己?
- webpack - vue+webpack app中生产和开发的不同环境文件
- api - Apple Music API 中的 DELETE/PUT
- r - 如何在 Seurat 的 DoHeatmap 图中重新排序单元格(ggplot2)
- python - 在轴坐标上使用自定义刻度线
- php - php递归字符串解析
- awk - awk 文件列表 - 每个输入文件仅输出一行
- stanford-nlp - 提取两个句子之间的关系