2

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

4

3 回答 3

2

在尝试解决此问题之前,您应该调查哪些其他字符正在被替换。例如,当您\在其他浏览器中获得单曲时,您会\\在 IE 中获得吗?

如果添加了标准 C 转义符,则将转换为 into 、into 、换行等JSON.parse序列。\""\\\\n

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

JSON.parse在最新的浏览器上本机支持,特别是在 IE 上,回到 IE 8。相关的 MSDN 页面

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

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

于 2012-10-01T19:29:21.870 回答
1

一个类似的问题:Javascript - Replacing the escape character in a string literal解释了如何替换转义字符。也许您可以用空引号替换转义字符?

于 2012-10-01T19:19:31.690 回答
0

使用 JavaScript 的replace()方法。

jsFiddle

var string1 = "This is a string with all the \\\" characters escaped";

document.write(string1);    // outputs: This is a string with all the \" characters escaped

document.write("<br />");

string1 = string1.replace("\\", "");

document.write(string1);    // outputs: This is a string with all the " characters escaped
于 2012-10-01T19:20:08.060 回答