我想在JavaScript本地存储中存储一个HTML5对象。
sessionStorage.setItem("localObj",this);我在包含function.The标记的对象中使用了上述语句。我既不能将其转换为字符串,也不能转换为JSON。我该怎么做呢?
发布于 2013-08-27 07:41:53
您必须首先将对象转换为json,然后存储在本地存储中。当您想要重用存储的数据时,必须将json字符串反序列化为javascript对象,这样它就可以正常工作了。
工作样品
function setValue() {
var obj = new user();
var jsonObject = JSON.stringify(obj);
sessionStorage.setItem("Gupta", jsonObject);
getValue();
}
function user() {
this.Name = "rahul";
this.Age = 20;
}
function getValue() {
var json_string = sessionStorage.getItem("Gupta");
var obj = JSON.parse(json_string)
alert("Name = "+obj.Name + ", Age = " + obj.Age);
}发布于 2013-08-27 07:16:08
本地存储将只存储字符串。如果不能对对象进行字符串表示,那么就无法存储它。
发布于 2013-08-27 07:18:47
本地存储是在设计时考虑到字符串/值对的,因此您将很难尝试存储您的对象“原样”。你要么需要“紧张”它,要么你需要看其他的东西。对先前这一问题的答复应有助于:
https://stackoverflow.com/questions/18459197
复制相似问题