Mulesoft Dataweave将CSV动态转换为地图

Mulesoft Dataweave将CSV动态转换为地图,mule,mule-studio,dataweave,Mule,Mule Studio,Dataweave,我创建了一个流,它通过表单数据API POST接受CSV,然后处理批处理作业中的每一行。理想情况下,在将每个列传递给批处理执行器之前,我不想手动映射每个列,但我不知道如何动态地“传递”键/值对。我想确保CSV可以有新的列,我们将在事先不知道它们的情况下传递它们。。。这就是我所拥有的: %dw 1.0 %output application/java --- payload map { title: $.title, description: $.description,

我创建了一个流,它通过表单数据API POST接受CSV,然后处理批处理作业中的每一行。理想情况下,在将每个列传递给批处理执行器之前,我不想手动映射每个列,但我不知道如何动态地“传递”键/值对。我想确保CSV可以有新的列,我们将在事先不知道它们的情况下传递它们。。。这就是我所拥有的:

%dw 1.0
%output application/java
---
payload map {
    title: $.title,
    description: $.description,
    template_id: $.template_id,
    pricing_flat_price: $.pricing_flat_price,
    scheduled_start_date: $.scheduled_start_date,
    resource_id: $.resource_id,
    industry_id: $.industry_id,
    owner_email: $.owner_email,
    location_offsite: $.location_offsite
}
这就是我想要的(在非感官虚拟代码中):

我不得不想象这很容易做到,但我想不出来

谢谢,, 史蒂夫

在将每个列传递给批处理执行器之前,手动映射每个列


你不应该这样做。将整个csv传递给批处理输入阶段,并允许它将每一行分割成一个链接的Hashmap。

您只需使用如下转换即可-

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

这对我不起作用。错误指示输入类的类型不正确。
%dw 1.0
%output application/java
---
(payload)