我有以下 javascript 行:
YAHOO.lang.JSON.parse(txt)
其中 text 是从数据库中提取的字符串。这是我要返回的问题字符串之一的示例:
5000\25\30%
据我所知,JSON 解析器在 / 字符上抛出语法错误。我查看了这里的线程,他们中的大多数人都说将其更改为“//”,但我正在从数据库中提取数百个值,因此我无法更改它们的来源。我试图让它用空字符串替换'/'字符,因为我实际上不必显示'/',但我遇到了困难。我当前的替换代码如下所示:
if(substr.indexOf("\\") > 0){
substr.replace(/\\/g , "");
}
但什么都没有发生。有时“indexOf”检查会失败,所以我尝试在每个字符串上运行替换,但它仍然没有替换任何 '\' 字符。所以这是我的问题:如果我返回一个包含一个或多个“\”字符的字符串,并且需要使用 javascript 为 JSON 解析器删除它们,我该怎么做;或者如何让 JSON 解析器在不更改源字符串的情况下接受 '\' 字符。
编辑:我认为可能的问题是 "\2" 和所有其他的都在评估和排除不做任何事情的字符。这些字符总是被转义,所以它们不能被替换。这甚至可以修复错误吗?