js, ie8 下 特殊字符导致转成json对象报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js, ie8 下 特殊字符导致转成json对象报错相关的知识,希望对你有一定的参考价值。

在对含特殊字符JSON数组字符串转换成json对象时报语法错误,无论用eval还是JSON.parse都没用, 谷歌、IE9都没问题,通过debugger发现是因为字符串中含特殊字符导致前台报语法错误 theString = theString.Replace(">", ">"); theString = theString.Replace("<", "<"); theString = theString.Replace(" ", " "); theString = theString.Replace("\"", """); theString = theString.Replace("\'", "'"); theString = theString.Replace("\\", "\\\\");//对斜线的转义 theString = theString.Replace("\n", "\\n"); theString = theString.Replace("\r", "\\r"); 除了以上方法还有其它方法?因为转成对象之后 还得转回去 跪求大神指导

参考技术A 我之前也遇到这个情况不知道适不适合你
var
str='json字符串';//我之前这里是后台返回的
var
json=eval("("+str+")");//这里没有特殊字符无错误,有的话会报错
后来我把var
str='json字符串'改为var
str=json字符串;//即不要'',就可以了
不知道可不可以帮到你
再看看别人怎么说的。

以上是关于js, ie8 下 特殊字符导致转成json对象报错的主要内容,如果未能解决你的问题,请参考以下文章

前端开发JSON.parse 解析json字符串时,遇换行符报错

我拼成的JSON字符串,然后转换JSON对象成功了,但是到了后台报错.

artTemplate--使用artTemplate时,由于json对象属性有特殊格式 导致调用报错artTemplate,syntax error,Template Error

js<被转译了咋么办

jQuery有把json对象转成字符串的方法吗?

js中怎么把对象转成string