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

Posted hui.zhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端开发JSON.parse 解析json字符串时,遇换行符报错相关的知识,希望对你有一定的参考价值。

今天遇到后台返回的json字符串转对象时报错了,发现有个textarea提交的字段里有换行符。

错误原因:JSON.parse转json字符串时遇到一些特殊字符需要先转义,如图所示

可以用str.replace(/\\n/g,"\\\\\\\\n")转义,\'\\\\\'转成单个\'\\\',\'\\\\n\'转成\'\\n\',最后转成\'\\\\n\'这样就可以用parse转成对象时变为\'\\n\',取出的字符串设置到html文本中\\n被解析为换行。

测试:

1.var kks="{"id":2,"name":null}"的reviver遍历前面两个是json字符串中的键值,空值暂时不知道是什么(原型Object?)。

2.json字符串有值为undefined解析会报错

2.JSON.stringify会忽略值为undefined的对象

语法规定:值undefined不包含在可以解析的范围内,所以会报错,哈哈。

 

 

以上是关于前端开发JSON.parse 解析json字符串时,遇换行符报错的主要内容,如果未能解决你的问题,请参考以下文章

JSON.parse 解析json字符串时,遇字符串换行符,解析失败

有意思的JSON.parse()JSON.stringify()

fastjson 返回json字符串,JSON.parse 报错

JSON.parse不能解析j包含回车字符的son数据的问题

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

JSON.parse 嵌套 JSON 字符串属性解析