阅读 204

Uncaught SyntaxError: Unexpected token o in JSON at position 1

在js调试时,会遇到Uncaught SyntaxError: Unexpected token o in JSON at position 1问题

obj = JSON.parse(str);

此错误一般是由JSON.parse()引起,代码如上,原因一般为str实际是一个对象,而不是字符串

 

解决办法,判断str为string时再JSON.parse()转化对象

obj = typeof(str) == "string" ? JSON.parse(str):str;

 

遇到的实际场景

1.在使用objTarget=JSON.parse(JSON.stringify(obj))做对象深拷贝时,obj中有一个属性arr为字符串数组,这些字符串为json格式字符串,能被转化为对象

经过深拷贝后,将objTarget中对应的属性arr变为了object数组,后续使用过程中,将此属性arr仍当做字符串数组,对数组元素使用JSON.parse就产生了此错误

 

原文:https://www.cnblogs.com/bmxxfvlog/p/14862288.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐