2016-07-26 42 views
0

我使用存儲在localStorage的對象以下JSON解析從localStorage的錯誤

function onExit(){ 
    localStorage.setItem("my_object","'" + JSON.stringify(object) + "'"); 
} 

當登錄了這一點localStorage的它看起來像這樣

'{"date":"2016-05-31T23:00:00.000Z","Name":"name","Code":"code","required":"false"}' 

現在,如果我打電話JSON.parse上這直接起作用,也就是說

JSON.parse('{"date":"2016-05-31T23:00:00.000Z","Name":"name","Code":"code","required":"false"}') 

會給我一個對象。但是,如果我嘗試

JSON.parse(localStorage.my_object) 

我遇到錯誤信息

我要去哪裏錯了「在JSON數據的1線意外的字符」?注意:我已經嘗試不用單引號括住對象,不起作用。

+0

作品對我來說...你確定你沒有一個錯字? – kinakuta

回答

2

因爲它返回一個可用的字符串,所以不需要用額外的引號("'")來包裝JSON.stringify(object)。

localStorage.setItem("my_object",JSON.stringify(object)); 

以檢索和解碼JSON對象,你需要調用getItem

JSON.parse(localStorage.getItem("my_object")) 
+0

是的,我錯過了getItem的歡呼聲。它會讓我接受! – user2085143

4

要麼,保存你的對象不包括引號即

​​

或者,如果你不刪除,同時節省報價,那麼你需要試圖解析對象之前,除去封閉引號。