Uncaught SyntaxError: Unexpected token × in JSON at position 3 at JSON.parse (<anonymous>) at 错误分析及解决
对JSON对象:JSON.parse()方法用于从一个字符串中解析出json对象;JSON.stringify()用于从一个对象解析出字符串;
通常在做本地存储时,会通过localStorage封装一个函数:将对象通过JOSN.stringify()存储在本地,跳转页面,再通过JOSN.parse()将json字符串转化为对象。
但此时浏览器会报错,因为出现了BUG。
错误提示如下:
翻译: 不能捕获的语法错误:json数据位置3处发现不能识别的标记×
原因:json格式错误
JSON将对象转化为字符串存储在本地是有严格要求的,比如符号,或是非法字符串之类的,都可能影响后面JOSN.parse的解析,从而导致出错。
解决:用localStorage.clear();清除本地存储,在注释掉,重新打开后错误消失。
本地存储中如果存在非法的字符一定会引起报错,直接localStorage.clear();清除之前的本地存储。