• 微信
您当前的位置: 首页> JavaScript> JavaScript>

JSON.parse(): Unexpected token i in JSON at position 2 报错问题

作者:Alpha时间:2020-08-06 阅读数:5661 +人阅读

在小程序开发的时候,之前正常的js代码忽然报错:

1.jpg

在网上搜了下发现,原来是因为键值对未使用双引号“”包裹起来的原因,而我的程序报错的原因是在小程序端提交数据后,后端处理存储数据时,使用htmlspecialchars_encode()进行了转码,需要将从从数据库取出的数据进行再次转码htmlspecialchars_decode()。

例如:

错误代码:

var res = "[{id:1,name:'liming'},{id:2,name:'xiaobai'}]";    
    
var objRes = JSON.parse(res);
    
console.log(objRes)

正确代码:

var res = '[{"id":1,"name":"liming"},{"id":2,"name":"xiaobai"}]';    
  
var objRes = JSON.parse(res);
    
console.log(objRes)

总结:

在使用JSON.parse的时候,返回来的数据一定是严格的json格式,key值一定要用 双引号 包起来,否则浏览器就会抛出异常。
另外,对于不标准的json字符串,如第一种示例,使用eval()虽然可以正常解析,但是从安全的角度来讲,一定要谨慎使用eval方法。规范json格式。


本站所有文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。

如果侵犯了你的权益请来信告知我们删除。邮箱:595397166@qq.com

标签: 小程序

阿尔法

软件开发工程师#全栈工程师

{include file=foot.html}
0.769578s