我使用以下
在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 :(得分:4)
要么保存没有引号的对象,例如
function onExit(){
localStorage.setItem("my_object",JSON.stringify(object));
}
或者,如果在保存时不删除引号,则需要在尝试解析对象之前删除引号。
答案 1 :(得分:2)
没有必要用额外的引号("'"
)包装JSON.stringify(object),因为它返回一个可用的字符串。
localStorage.setItem("my_object",JSON.stringify(object));
要检索和解码JSON对象,您需要调用getItem
JSON.parse(localStorage.getItem("my_object"))