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