JSON.parse使用 之 Unexpected token o in JSON at position 1 報錯原因


JSON.parse()用於從一個字符串中解析出json對象,如

var str = '{"name":"Wu","age":"20"}'
JSON.parse(str);
//結果為一個Object
// age: "20";
// name: "Wu";

JSON.stringify()用於從一個對象解析出字符串,如

var a = {age:1,name:"Wu"};
JSON.stringify(a);
//結果為 "{"age":1,"name":"Wu"}"

報錯的原因:
因為你要轉換的數據本來就是object,這個方法是把一個字符串解析出json對象,你再轉換就會報錯;

為什么會有這樣的錯誤:
因為把Object作為參數傳到JSON.parse()里時,它會默把Object轉為string, 
就會先調用原型上的toString()方法;結果為”[object Object]”,JSON.parse將第一個字符’[‘理解為數組的開始,第二字符’o’不知道怎么處理;所以就拋出了上面的錯誤信息 Unexpected token o in JSON at position 1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM