今天跟大家分享我前两天遇见的一个BUG,说出来很难受,因为这个BUG花了我一个多小时去找原因,后来莫名其妙的故障消失了,强迫症犯了的我,居然花了2个多小时去故意再制造这个BUG,只想弄明白WHY???结果大家应该都猜到了,哈哈,没找到!!!没错,居然没找到!!!不过类似于Uncaught SyntaxError: Unexpected token ' in JSON at position 2的错误。。。

  关于JOSN的方法,大家通过百度应该都深刻理解它的用法:parse用于从一个字符串中解析出json对象;stringify()用于从一个对象解析出字符串;

  前两天我在做一个本地存储的时候,通过localStorage封装一个函数的时候,将对象通过JOSN.stringify()存储在本地,跳转页面,再通过JOSN.parse()

将json字符串转化为对象时,BUG出现了!!!部分代码如下:

备注:转化为JSON字符串的存储

备注:JSON字符串转化对象

  后来花了一个多小时找不到问题所在,chrome一直报错,Uncaught SyntaxError: Unexpected token o in JSON at position 1;终于忍不了了,打开度娘,直接把问题复制黏贴,真是什么样的解决方法都有,顿时。。。

记得打开的第一个解决方案,是国外的程序员一个小伙子,说了半天,我算明白,他意思说可能JOSN.parse()括号里的内容可能已经是一个对象了,没有再转换的必要了,可我打开我的localStorage明明还是字符串啊(原BUG图已经找不到,如图),死马当活马医,我还是试了一试,绝望!!!

  后来试了试网上另一种方法,相信大家也看过,但是有些并没有解决问题!!!不过思路是对的,如图:

备注:JOSN方法对符号的严格定义

但是大家能发现的是,其实它的报错是position 2,而并不是我的1;但是它提醒了我,JSON将对象转化为字符串存储在本地是有严格要求的,比如说是符号,或是非法字符串之类的,都可能影响后面JOSN.parse的解析。。。

此刻已经压抑不住自己蠢蠢欲动的心了,直接localStorage.clear();清除了之前的本地存储。。。哈哈,果然问题解决,没有再报错。。。没开心一会突然忘了重要的一件事,卧槽BUG没有记录!!!所以才有了后来两个小时的找”BUG“。。。

好了,谢谢你这么帅,还能看完我的分享。。。送你一朵❀

关于Uncaught SyntaxError: Unexpected token o in JSON at position 1,chrome持续报错的相关解析的更多相关文章

  1. VM603:1 Uncaught SyntaxError: Unexpected token o in JSON at position 1

    再用JQuery解析json的时候出现了这样一个问题 VM603: Uncaught SyntaxError: Unexpected token o 通过查阅资料发现,是由于解析json文件的时候解析 ...

  2. js中字符串转json对象时报错: Uncaught SyntaxError: Unexpected token s in JSON at position 2

    解决方法: js中获取jsp的返回值 var json='${channels}' var channels = JSON.parse(json);就报上面的错. json的值最终会转成这种json格 ...

  3. Unexpected token o in JSON at position 1 at JSON.parse (<anonymous>) SyntaxError: Unexpected token R in JSON at position 0 at JSON.parse (<anonymous>)

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

  4. 使用ajax解析后台json数据时:Unexpected token o in JSON at position 1

    json数据解析异常 今天在做json数据的时候,出现了如下错误,说是解析异常. VM1584:1 Uncaught SyntaxError: Unexpected token o in JSON a ...

  5. json格式字符串用Uncaught SyntaxError: Unexpected token ' Uncaught SyntaxError: Unexpected number

    Unexpected number(index)的错误用的json字符串如 var jsonStr = "{1:'北京note备注信息',2:'上海note备注信息',3:'广东note备注 ...

  6. JSON.parse()——Uncaught SyntaxError: Unexpected token \ in JSON at position 1

    背景:项目安全处理方面之一 ——对特殊字符进行编解码(后端编码,前端解码) 特殊字符: "    %22 \    %5C /    %2F &   %26 %   %25 '    ...

  7. Uncaught SyntaxError: Unexpected token ' in JSON at position 1

    听说js是一样很BT的语言,今天真是有点领教到了. 用python3.6+django2.0开发网站时,遇到了一个坑中之坑! 在异步数据提交Ajax的运用中,不免在回调函数中使用到JSON.parse ...

  8. uncaught syntaxerror unexpected token U JSON

    uncaught syntaxerror unexpected token U JSON The parameter for the JSON.parse may be returning nothi ...

  9. jquery使用ajax报错[Uncaught SyntaxError: Unexpected token :]

    $.post('/ajax/validate.do',{"id": id},function(ret){ //ret }); 返回值明明是json,格式也是正确的,却解析不成功,在 ...

随机推荐

  1. Java jvm级别native关键词、JNI详解

    1.native关键词的引入 再完美的编程语言也有自己的不足之处,当然Java也不例外,Java的不足之处除了体现在运行速度(这点往往被一些其他编程语言使用者所诟病)上要比传统的C++慢许多之外,Ja ...

  2. android源码 分享1

    技术博客       "碎片化"严重,安卓走向封闭?[Bus Weekly]48期   阅读数:286   2017-05-08   按照NetMarketShare统计数据显示, ...

  3. js验证表单密码、用户名是否输入--JS的简单应用

    在登录.注册时,我们经常会遇到下面这种情况,如果我们没有输入用户名.密码时,系统会弹出提示框.提示框信息提示内容是我们密码没有输入密码或者用户名等.那么这样的弹出框效果是如何实现的呢?文章标题既然与j ...

  4. vue基础01

    事件 事件绑定 在vue中,事件绑定用v-on.v-on也可以用@click=""形式 实例1: <div class="container" id=&q ...

  5. win10下安装python2与python3以及pip共存

    一 分别安装python2和python3 注意: 安装时记得勾选 Add Python.exe to Path 二 安装pip Python3最新版本有pip,无需安装 Python2: 下载pip ...

  6. NOIP模拟:能源(二分答案)

    题目描述 小美为了拯救世界能源危机,她准备了 n 台蓄电池.一开始每台蓄电池有 ai 个单位的能量. 现在她想把 n 台蓄电池调整到能量相同.对于每台蓄电池可以给另一台蓄电池传递能量.但是会有能量损耗 ...

  7. 关于appium+模拟器+idea的细谈

    之前转载的虫师的appium移动端自动化的文章,前边appium环境的搭建,这里就不过多介绍了,不明白的小伙伴可以返回去看,后边有不会的步骤, 也都去看,总之,两篇文章结合看! 关于移动端自动化测试- ...

  8. (转)JAVA新特征

    Java线程:新特征-有返回值的线程   在Java5之前,线程是没有返回值的,常常为了“有”返回值,破费周折,而且代码很不好写.或者干脆绕过这道坎,走别的路了.   现在Java终于有可返回值的任务 ...

  9. 几种常见排序算法原理&C语言实现

    一.冒泡排序(以下各法均以从小到大排序为例,定义len为数组array的长度) 原理:比较相邻元素的大小,对于每次循环,按排序的规则把最值移向数组的一端,同时循环次数依次减少. C代码实现 写法一: ...

  10. Javascript之布尔

    一.概念 将非布尔值转成布尔值(true)或(false). 二.创建布尔对象 var bool = new Boolean(); console.log(bool);//Boolean { fals ...