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();清除之前的本地存储。

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 6 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐