JSON.parse的异常怎么处理
2 回答

森林海
TA贡献2011条经验 获得超2个赞
对于JSON.parse的异常处理一般大家只是严格处理json字符串,字符串本身必须带引号,数组的话,数组每一项必须带引号,对象的话,对象的键值都必须带双引号;
所以如果客户端传来的字符串不正确,JSON.parse()会报错,使程序出现异常;从而使程序退出;
这是需要一个程序捕获异常,让程序能正常运行下去;
这里运用了promise捕获异常的方法;
promise对象的catch方法会自动捕获异常程序;不用设置reject回调;

幕布斯6054654
TA贡献1876条经验 获得超7个赞
第一次进页面没问题,再返回上一页,再进来就报错了,除非手动强制刷新才出来,获取的数据确实打印出来了,就在JSON.parse 这里报错,报错如下:
load fail: Unexpected token o in JSON at position 1
百度了几个看的不懂:
JSON.Parse,Uncaught SyntaxError: Unexpected token o duplicate
JSON.parse Uncaught SyntaxError: Unexpected token o duplicate
其中我用了 backbone 的路由跳转的,如果正常跳转可能没有这个问题...
感谢各位花时间帮我解答,找到问题所在和解决方法了,就是我采纳的那位大兄弟:
if (typeof airport === 'string') {
airport = JSON.parse(airport)
}
- 2 回答
- 0 关注
- 1543 浏览
添加回答
举报
0/150
提交
取消