在Mule 4中将JSON转换为CSV后如何在CSV文件末尾追加--EOF标识
Mule DataWeave 2.0 JSON转CSV并追加EOF标识实现方案
核心需求说明
输入单条JSON结构{"serialNumber": "ABCD","asset": "EFGH" },转换为|分隔的CSV格式后,在末尾单独追加一行--EOF标识,最终输出效果如下:
ABCD|EFGH
--EOF
实现代码
针对单条JSON输入,可直接使用如下DataWeave 2.0脚本:
%dw 2.0 output text/plain --- payload.serialNumber ++ "|" ++ payload.asset ++ "\n--EOF"
如果输入是多条JSON对象组成的数组,可使用遍历拼接的写法:
%dw 2.0 output text/plain --- (payload map(item -> item.serialNumber ++ "|" ++ item.asset)) joinBy "\n" ++ "\n--EOF"
配置说明
- 脚本选择输出格式为
text/plain,避免CSV默认配置自动添加表头、转义特殊字符的问题 - 如果需要保留CSV的原生转义能力,也可以调整输出格式为
application/csv,关闭表头输出后在转换结果末尾手动拼接\n--EOF字符串即可
内容的提问来源于stack exchange,提问作者Ashok Reddy
相关产品推荐
相关产品推荐

