使用 Mule Dataweave 导入 CSV?

Posted

技术标签:

【中文标题】使用 Mule Dataweave 导入 CSV?【英文标题】:Using Mule Dataweave to import CSV? 【发布时间】:2016-01-12 12:40:59 【问题描述】:

我的解决方案涉及导入各种 CSV 文件并将它们转换为 Java 映射结构,并且我一直在使用 DataMapper 转换器取得巨大成功——也就是说,直到我点击测试服务器。虽然我们有一个企业安装,但我们没有现在不再内置的 DataMapper 插件,所以我正在考虑使用 Transform Message 组件重写我的导入器(Mule Soft 也称为“dataweave” )。

唉!有很多关于使用 DataMapper 转换器(读取 CSV 文件)的示例和教程,也有很多关于使用 Transform Message 组件(写入 CSV 文件)的示例和教程,但我终生找不到任何描述如何读取带有转换消息组件的 CSV 文件。似乎所有示例都处理 xml 输入。

救命!

我应该如何配置转换消息组件的“上下文”(输入)窗格,以及转换应该如何输出 Java 映射结构?为了论证的缘故,假设我的 CSV 文件格式是一个简单的“ID、NAME、NUMBER”并且确实包含标题行。

当然,我们非常急于解决这个问题,因此我们将不胜感激。

【问题讨论】:

【参考方案1】:

如果您只想从 CSV 输入中输出映射的 java 数组,您只需要这样做:

%dw 1.0
%output application/java
---
payload

还要确保您的负载的 mime-type 设置为 application/csv。

如果不是,您也可以将<dw:input-payload mimeType="application/csv"/> 放入您的转换消息中

【讨论】:

真的那么简单吗……我在这上面浪费了很多时间。试了一下,立竿见影。非常感谢。

以上是关于使用 Mule Dataweave 导入 CSV?的主要内容,如果未能解决你的问题,请参考以下文章

在dataweave 2.0 Mule4中将XML CDATA格式转换为JSON格式

Mule DataWeave 转换消息失败,缺少元数据:id 属性

如何忽略 DataWeave Mule esb 中的空对象

Mule 4:Dataweave 2.0:如何处理大小超过10k的数据库记录?

从dataweave 2.0 Mule 4中的父JSON对象中提取JSON键值对的子集作为对象

为什么Multipartform-data在响应Mule Dataweave时删除Nill?