Javascript 删除转义字符

Javascript 删除转义字符,javascript,escaping,Javascript,Escaping,我正在使用一个返回XML字符串的javascript函数。然而,在IE中,我得到了嵌入转义字符的XML字符串,例如双引号是\“ " 而不是 " 有没有一种简单的方法可以删除转义字符序列项? 谢谢 德里克一个类似的问题:解释如何替换转义字符。也许可以用空引号替换转义字符?使用JavaScript的方法 : var string1=“这是一个包含所有转义字符的字符串”; document.write(string1);//输出:这是一个包含所有转义的\“字符的字符串 文件。写(“”); string

我正在使用一个返回XML字符串的javascript函数。然而,在IE中,我得到了嵌入转义字符的XML字符串,例如双引号是\“ " 而不是 " 有没有一种简单的方法可以删除转义字符序列项?
谢谢 德里克

一个类似的问题:解释如何替换转义字符。也许可以用空引号替换转义字符?

使用JavaScript的方法

:

var string1=“这是一个包含所有转义字符的字符串”;
document.write(string1);//输出:这是一个包含所有转义的\“字符的字符串
文件。写(“
”); string1=string1。替换(“\\”,“”); 文件。写入(string1);//输出:这是一个包含所有“转义”字符的字符串
在尝试修复此问题之前,您应该调查正在替换的其他字符。例如,当您在其他浏览器中获得单个
\
时,您是否在IE中获得
\

如果添加了标准的C转义符,那么
JSON.parse
将把像
\“
这样的序列转换成
\
转换成
\
\n
转换成换行符等

'foo\\bar\nbaz"' === JSON.parse('"foo\\\\bar\\nbaz\\""')

JSON.parse
在最新的浏览器上本机支持,特别是在IE上,回到IE 8

在以下文档模式下受支持:Internet Explorer 8标准、Internet Explorer 9标准、Internet Explorer 10标准。在Windows应用商店应用程序中也受支持。请参阅版本信息

以下文档模式不支持:怪癖、Internet Explorer 6标准、Internet Explorer 7标准


您好,正在替换的其他字符是\t的制表符和\n的换行符。这只发生在IE中,实际上不是Chrome或Firefox。我想尝试使用JSON.parse。我需要包括一个特定的库来使用它吗?@geoderek,您是否需要一个特定的库取决于IE的版本。表示
JSON.parse
是“在以下文档模式下受支持:Internet Explorer 8标准、Internet Explorer 9标准、Internet Explorer 10标准”。如果您在IE 6或IE 7上遇到同样的问题,那么JSON.org或其他解析器之一应该可以工作。好的,我现在正在尝试。代码行是JSON.parse(strInfo)返回错误:无效字符。变量strInfo是包含转义字符的XML字符串。我猜我没有正确使用JSON.parse。@geoderek,您试图解码的字符串周围有双引号吗?嗨,Mike,原来IE调试器将这些转义字符放在了只在调试窗口中响起。当我提醒该值时,它没有包含它们。谢谢你的帮助。现在我开始处理一个新问题,它处理JQuery和IE 9的细微差别。干杯,我喜欢这种直接的方法。但是,至少在IE版本9中它似乎不起作用。在IE中打开你的JSFIDLE,看看你是否会遇到同样的问题s me.似乎只有一个文档。在ie中使用JSFIDLE时写入…修复如下:
'foo\\bar\nbaz"' === JSON.parse('"foo\\\\bar\\nbaz\\""')