我在mule流中有一个数据编织,将pojo转换为CSV。 因此,Pojo中的一个字段的值为:" abc,def"
因此,当dataweave转换为CSV时,响应为abc \,def。 正在添加默认转义字符。
请让我知道我们如何摆脱这个转义字符并将csv值设为:abc,def
谢谢。
答案 0 :(得分:0)
默认情况下,DataWeave将转义逗号以避免歧义/数据错误。例如:
column1,column2,column3
abc,def,1234567,xxxyyyz
column2的值是什么, def 或 1234567 ?
为了保留逗号字符,还有另外两个选项:
%output application/csv separator="|"
。它将产生如下结果:abc,def | 1234567 | xxxyyyz %output application/csv quoteValues=true
。它将产生:" abc,def"," 1234567"," xxxyyyz" 答案 1 :(得分:0)
我发现以下代码将消除DW中的转义字符:
%output application/csv header=true, escape="null"
答案 2 :(得分:0)
最新答案,但我认为它可能有用。 如果要纯粹删除转义符,请使用:
%output application/csv escape = ""
这显然带来了问题,因为sulthony h提到过,您的csv中会有一个逗号。
column1,column2,column3
abc,def,1234567,xxxyyyz
我的解决方案是将转义字符和硬编码引号删除到字符串上:
%output application/csv escape = ""
outputField: "\"" ++ inputField ++ "\"" as String
这将产生:
"abc,def",1234567,xxxyyyz
因此,您可能需要根据要解析的紧密程度对其进行下游处理。