逃脱" \"来自dataweave的反斜杠为csv输出Mule

时间:2017-03-23 15:06:40

标签: csv mule anypoint-studio dataweave

CSV输出是从Dataweave中的java Map生成的, 输出响应添加" \"每一个","在价值观中呈现。 所有地图值都添加在双引号内,例如:map.put(' key'," key-Value");

收到回复

Header1,Header2

1234,ABC \,text

7890,XYZ \,文字

预期回复

Header1,Header2

1234,ABC,文字

7890,XYZ,text

标题2 应包含" ABC,文字"作为没有引号的值""

尝试使用%output application / csv escape =" ",但这会为值中的每个空格增加额外的空间,即如果值为" ABC XYZ"然后输出" ABC XYZ" (中间有2个空格)

任何建议都会有所帮助......

2 个答案:

答案 0 :(得分:1)

逗号分隔值文件中的数据中的嵌入式逗号必须>转义,或者无法将这些值与字段分隔符区分开来。如果您想要某种方式在CSV文件中使用逗号而不转义它们,则需要使用逗号以外的分隔符。

您显示的预期响应无效,因为您有两个字段标题,但数据行将被解释为包含3个字段,而不是2个字段,其中一个带有嵌入式逗号是数据的含义,并显示在响应接收表中。

答案 1 :(得分:0)

我有相同的情况,数据本身带有逗号,就像您的Header2一样。

要解决此问题,我在下面添加了

%output application / csv quoteValues = true

以上解决了我的问题,我们得到了预期的输出。