资讯专栏INFORMATION COLUMN

bug集合js1--Unexpected token o in JSON at position 1

funnyZhang / 373人阅读

摘要:可是这次又碰到了,所以这次必须要弄明白原因。将第一个字符理解为数组的开始,第二字符不知道怎么处理所以就抛出了上面的错误信息。资源仓库集合我的博客地址如果您对我的博客内容有疑惑或质疑的地方,请在下方评论区留言,或邮件给我,共同学习进步。

欢迎访问我的个人博客:http://www.xiaolongwu.cn

写在前面的话

这个问题在之前做项目时碰到过一次,当时按照网上的做法,去掉JSON.parse()这一层转换后就没有这个报错了,数据也能正常使用,就没多想,也没深究是什么原因。

可是这次又碰到了,所以这次必须要弄明白原因。

先看看它的作用

JSON.parse()用于从一个字符串中解析出json对象,如

var str = "{"name":"LeonWu","age":"18"}"

JSON.parse(str);

//结果为一个Object
// age: "18";
// name: "LeonWu";

JSON.stringify()用于从一个对象解析出字符串,如

var a = {a:1,b:2,c:"LeonWu"};
 
 JSON.stringify(a);
 
 //结果为 "{"a":1,"b":2,"c":"LeonWu"}"
 
背后的原因 报错的原因

因为你要转换的数据本来就是object,JSON.parse()这个方法是把一个字符串解析出json对象,你再转换就会报错;

为什么会有这样的错误

因为把Object作为参数传到JSON.parse()里时,首先会默利用toString()方法转为string,结果为"[object Object]"。

JSON.parse()将第一个字符"["理解为数组的开始,第二字符"o"不知道怎么处理;所以就抛出了上面的错误信息 Unexpected token o in JSON at position 1。

--------------------- 分割线,2019年1月22日11:21:03更新-----------------------

好多人在下面评论,问最终的解决方案,可能是我没有写清楚的缘故吧。

解决方案我在文章开头就说了,就是去掉JSON.parse()这一层转换,因为你需要转换的数据本来就是一个json对象了,不需要在转换了。

github资源仓库:bug集合js1--Unexpected token o in JSON at position 1

我的CSDN博客地址:https://blog.csdn.net/wxl1555

如果您对我的博客内容有疑惑或质疑的地方,请在下方评论区留言,或邮件给我,共同学习进步。

邮箱:wuxiaolong802@163.com

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/101305.html

相关文章

  • Unexpected token < in JSON at position 0 的错误解析

    摘要:实际的请求没有问题,它得到了一个返回值,发生问题的关键在于。下面是一些我所看见的错误的提示解决方案首先要做是先把返回值打印出来。同时可以通过的查看请求的返回值。 Unhandled Rejection (SyntaxError): Unexpected token < in JSON at position 0当你发送一个HTTP请求,可能是用Fetch或者其他的Ajax库,可能会出...

    史占广 评论0 收藏0
  • JAVA基础集合框架【一】ArrayList之源码翻译-上

    摘要:文章首发于基于的源码版权所有,和或其附属公司。使用须遵守许可条款。的迭代器会尽最大的努力抛出异常。因此,写程序依赖这个异常为了正确性这点是错误的,迭代器的行为仅仅被用来检查程序中的。这个类是集合框架的一员。 文章首发于:clawhub.club 基于 JDK1.8 的ArrayList源码: /* * Copyright (c) 1997, 2017, Oracle and/or...

    wean 评论0 收藏0
  • 一次排查多线程引发Java DNS缓存的Bug

    摘要:问题描述最近通知应用在近三个月内出现过次缓存的问题,第一次在重启之后一直没有出现过问题,所以也没有去重视,但是最近又出现过一次,看来很有必要彻底排查一次具体的错误日志如下具体表现就是出现此异常之后连续的出现大量此异常 问题描述最近通知应用在近三个月内出现过2次DNS缓存的问题,第一次在重启之后一直没有出现过问题,所以也没有去重视,但是最近又出现过一次,看来很有必要彻底排查一次;具体的错...

    cocopeak 评论0 收藏0
  • 记一次由BOM引起的bug

    摘要:今天团队小伙伴给了我一个配置文件,可以用如下替代毕竟内容不是重点考虑到这个并不需要常驻,就没有用来引用,因为模块的缓存机制,势必会导致内存泄漏问题的发生,就采取了以下方式但是诡异的事情发生了,竟然报错了此时一脸懵逼,就用了的方式试了一下发现 bug 今天团队小伙伴给了我一个json配置文件,可以用如下替代(毕竟内容不是重点): { text: this is a example...

    cc17 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<