来自LocalStorage的JSON分析错误

JSON Parse from LocalStorage error

本文关键字:错误 JSON LocalStorage 来自      更新时间:2023-09-26

我使用以下将对象存储在localStorage中

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

当从本地存储中注销时,它看起来像这个

'{"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行得到"意外字符"错误消息

我哪里错了?注意:我尝试过不将对象用单引号括起来,但没有效果。

或者,保存不带引号的对象,即

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

或者,如果在保存时没有删除引号,则需要在解析对象之前删除括引号。

不需要用额外的引号("'")包装JSON.stringfy(对象),因为它返回一个可用的字符串。

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

要检索和解码JSON对象,需要调用getItem

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