摘要:可是這次又碰到了,所以這次必須要弄明白原因。將第一個(gè)字符理解為數(shù)組的開(kāi)始,第二字符不知道怎么處理所以就拋出了上面的錯(cuò)誤信息。資源倉(cāng)庫(kù)集合我的博客地址如果您對(duì)我的博客內(nèi)容有疑惑或質(zhì)疑的地方,請(qǐng)?jiān)谙路皆u(píng)論區(qū)留言,或郵件給我,共同學(xué)習(xí)進(jìn)步。
歡迎訪問(wèn)我的個(gè)人博客:http://www.xiaolongwu.cn
寫(xiě)在前面的話這個(gè)問(wèn)題在之前做項(xiàng)目時(shí)碰到過(guò)一次,當(dāng)時(shí)按照網(wǎng)上的做法,去掉JSON.parse()這一層轉(zhuǎn)換后就沒(méi)有這個(gè)報(bào)錯(cuò)了,數(shù)據(jù)也能正常使用,就沒(méi)多想,也沒(méi)深究是什么原因。
可是這次又碰到了,所以這次必須要弄明白原因。
先看看它的作用JSON.parse()用于從一個(gè)字符串中解析出json對(duì)象,如
var str = "{"name":"LeonWu","age":"18"}" JSON.parse(str); //結(jié)果為一個(gè)Object // age: "18"; // name: "LeonWu";
JSON.stringify()用于從一個(gè)對(duì)象解析出字符串,如
var a = {a:1,b:2,c:"LeonWu"}; JSON.stringify(a); //結(jié)果為 "{"a":1,"b":2,"c":"LeonWu"}"背后的原因 報(bào)錯(cuò)的原因
因?yàn)槟阋D(zhuǎn)換的數(shù)據(jù)本來(lái)就是object,JSON.parse()這個(gè)方法是把一個(gè)字符串解析出json對(duì)象,你再轉(zhuǎn)換就會(huì)報(bào)錯(cuò);
為什么會(huì)有這樣的錯(cuò)誤因?yàn)榘袿bject作為參數(shù)傳到JSON.parse()里時(shí),首先會(huì)默利用toString()方法轉(zhuǎn)為string,結(jié)果為"[object Object]"。
JSON.parse()將第一個(gè)字符"["理解為數(shù)組的開(kāi)始,第二字符"o"不知道怎么處理;所以就拋出了上面的錯(cuò)誤信息 Unexpected token o in JSON at position 1。
--------------------- 分割線,2019年1月22日11:21:03更新-----------------------
好多人在下面評(píng)論,問(wèn)最終的解決方案,可能是我沒(méi)有寫(xiě)清楚的緣故吧。
解決方案我在文章開(kāi)頭就說(shuō)了,就是去掉JSON.parse()這一層轉(zhuǎn)換,因?yàn)槟阈枰D(zhuǎn)換的數(shù)據(jù)本來(lái)就是一個(gè)json對(duì)象了,不需要在轉(zhuǎn)換了。
github資源倉(cāng)庫(kù):bug集合js1--Unexpected token o in JSON at position 1
我的CSDN博客地址:https://blog.csdn.net/wxl1555
如果您對(duì)我的博客內(nèi)容有疑惑或質(zhì)疑的地方,請(qǐng)?jiān)谙路皆u(píng)論區(qū)留言,或郵件給我,共同學(xué)習(xí)進(jìn)步。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101305.html
摘要:實(shí)際的請(qǐng)求沒(méi)有問(wèn)題,它得到了一個(gè)返回值,發(fā)生問(wèn)題的關(guān)鍵在于。下面是一些我所看見(jiàn)的錯(cuò)誤的提示解決方案首先要做是先把返回值打印出來(lái)。同時(shí)可以通過(guò)的查看請(qǐng)求的返回值。 Unhandled Rejection (SyntaxError): Unexpected token < in JSON at position 0當(dāng)你發(fā)送一個(gè)HTTP請(qǐng)求,可能是用Fetch或者其他的Ajax庫(kù),可能會(huì)出...
摘要:文章首發(fā)于基于的源碼版權(quán)所有,和或其附屬公司。使用須遵守許可條款。的迭代器會(huì)盡最大的努力拋出異常。因此,寫(xiě)程序依賴這個(gè)異常為了正確性這點(diǎn)是錯(cuò)誤的,迭代器的行為僅僅被用來(lái)檢查程序中的。這個(gè)類是集合框架的一員。 文章首發(fā)于:clawhub.club 基于 JDK1.8 的ArrayList源碼: /* * Copyright (c) 1997, 2017, Oracle and/or...
摘要:?jiǎn)栴}描述最近通知應(yīng)用在近三個(gè)月內(nèi)出現(xiàn)過(guò)次緩存的問(wèn)題,第一次在重啟之后一直沒(méi)有出現(xiàn)過(guò)問(wèn)題,所以也沒(méi)有去重視,但是最近又出現(xiàn)過(guò)一次,看來(lái)很有必要徹底排查一次具體的錯(cuò)誤日志如下具體表現(xiàn)就是出現(xiàn)此異常之后連續(xù)的出現(xiàn)大量此異常 問(wèn)題描述最近通知應(yīng)用在近三個(gè)月內(nèi)出現(xiàn)過(guò)2次DNS緩存的問(wèn)題,第一次在重啟之后一直沒(méi)有出現(xiàn)過(guò)問(wèn)題,所以也沒(méi)有去重視,但是最近又出現(xiàn)過(guò)一次,看來(lái)很有必要徹底排查一次;具體的錯(cuò)...
摘要:今天團(tuán)隊(duì)小伙伴給了我一個(gè)配置文件,可以用如下替代畢竟內(nèi)容不是重點(diǎn)考慮到這個(gè)并不需要常駐,就沒(méi)有用來(lái)引用,因?yàn)槟K的緩存機(jī)制,勢(shì)必會(huì)導(dǎo)致內(nèi)存泄漏問(wèn)題的發(fā)生,就采取了以下方式但是詭異的事情發(fā)生了,竟然報(bào)錯(cuò)了此時(shí)一臉懵逼,就用了的方式試了一下發(fā)現(xiàn) bug 今天團(tuán)隊(duì)小伙伴給了我一個(gè)json配置文件,可以用如下替代(畢竟內(nèi)容不是重點(diǎn)): { text: this is a example...
閱讀 1923·2021-11-24 09:39
閱讀 2145·2021-09-22 15:50
閱讀 2024·2021-09-22 14:57
閱讀 712·2021-07-28 00:13
閱讀 1077·2019-08-30 15:54
閱讀 2368·2019-08-30 15:52
閱讀 2695·2019-08-30 13:07
閱讀 3794·2019-08-30 11:27