Data Weave无法转义双引号内的字符串-Mule ESB

Data Weave无法转义双引号内的字符串-Mule ESB,mule,mule-studio,mule-component,dataweave,Mule,Mule Studio,Mule Component,Dataweave,我正在尝试将csv转换为csv。我的Delill是,,输入中有一些文本也带有逗号示例:“Fun,Chair,tables”,但它将用引号括起来。Data Weave认为这是一个分隔符,并将其分隔到不同的列中作为响应 请查找输入的CSV文件 sequence,items 1,Fun 2,"Fun,chairs,tables" 3,Games 但得到的回应是 Number,itemDetails 1,Fun 2,Fun\,Chair\,tables 3,Games 在上面的回答中,第二个

我正在尝试将csv转换为csv。我的Delill是
,输入中有一些文本也带有逗号示例:
“Fun,Chair,tables”
,但它将用引号括起来。Data Weave认为这是一个分隔符,并将其分隔到不同的列中作为响应

请查找输入的CSV文件

 sequence,items
 1,Fun
 2,"Fun,chairs,tables"
 3,Games
但得到的回应是

Number,itemDetails
1,Fun
2,Fun\,Chair\,tables
3,Games
在上面的回答中,第二个2被拆分,这是我没有预料到的 我的dataweaver

  %dw 1.0
  %output application/csv header=true 
   ---
  payload map { 
   Number:$.sequence,
   itemDetails:$.items
预期的反应是

 Number,itemDetails
 1,Fun
 2,"Fun,chairs,tables"
 3,Games

问题是<代码>“乐趣、椅子、表格”< /代码>,双引号应作为测试字段,而不是<代码>数据Webver < /C> >将其视为定界符。 在数据编织标题中,尝试使用

quote=“”
escape=“”
。但不起作用。 我在Datamapper上也尝试过同样的方法,效果非常好。相信有些事情需要在页眉上做,不确定是什么,但??。 还检查了“数据设置”中的“读取配置属性”中的属性。没有帮助

编辑: 使用DataWeaver转义序列,
%output application/csv header=true escape=“\”
以下是答复

Number,itemDetails
1,Fun
2,Fun",Chair",tables
3,Games
您的想法和建议将很有帮助。请提前感谢。

您是否尝试了escape=“\”?我想这会避开双引号,试试看

%output application/csv quoteValues=true ,escape =" "

您可以自己用引号将值括起来

%dw 1.0
%output application/csv header=true
---
payload map ((item , index) -> {
    Number: item.sequence,
    itemDetails: item.items
} when index != 1
otherwise {
    Number: item.sequence,
    itemDetails: "\"" ++ item.items ++ "\""
})
输出

Number,itemDetails
1,Fun
2,"Fun\,chairs\,tables"
3,Games

我们必须更改读卡器属性,如下所示。我在读取csv输入时也遇到了同样的问题

<dw:reader-property name="escape" value="&quot;"/>

我试过逃跑。好像没用!带转义序列回答的已编辑问题。请提供您的想法。谢谢。你有解决这个问题的办法吗?我们也有同样的issue@tortoise:没有。我没有找到解决方案。因此没有从Datamapper更新到DW。如果你发现了,请在这里发布。请使用链接解释此代码是如何工作的,不要只给出代码,因为解释更有可能帮助未来的读者。另见。