首页 > 代码库 > JSON.parse 解析json字符串时,遇换行符报错
JSON.parse 解析json字符串时,遇换行符报错
今天遇到后台返回的json字符串转对象时报错了,发现有个textarea提交的字段里有换行符。
错误原因:JSON.parse转json字符串时遇到一些特殊字符需要先转义,如图所示
可以用str.replace(/\n/g,"\\\\n")转义,‘\\‘转成单个‘\‘,‘\\n‘转成‘\n‘,最后转成‘\\n‘这样就可以用parse转成对象时变为‘\n‘,取出的字符串设置到html文本中\n被解析为换行。
ECMA Script注明json字符串中需要转义的字符:
测试:
1.var kks="{"id":2,"name":null}"的reviver遍历前面两个是json字符串中的键值,空值暂时不知道是什么(原型Object?)。
2.json字符串有值为undefined解析会报错
2.JSON.stringify会忽略值为undefined的对象
语法规定:值undefined不包含在可以解析的范围内,所以会报错,哈哈。
参考:英文版ecma规范: http://www.ecma-international.org/ecma-262/5.1/
中文:http://lzw.me/pages/ecmascript/#611
JSON.parse 解析json字符串时,遇换行符报错
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。