我想将一个 JavaScript 对象存储在 HTML5 本地存储中。
sessionStorage.setItem("localObj",this);
我在函数中使用了上述语句,该对象包含HTML标记。 我既不能将其转换为字符串,也不能转换为JSON。 我该如何处理?
sessionStorage.setItem("localObj",this);
我在函数中使用了上述语句,该对象包含HTML标记。 我既不能将其转换为字符串,也不能转换为JSON。 我该如何处理?
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);
}
本地存储是以字符串/值对为设计目标的,因此您将很难尝试将对象“原样”存储。您需要将其“字符串化”,或者您需要查看其他内容。这个早期问题的答案应该会有所帮助:
toJSON()
函数。这样可以根据需要处理其中的HTML实体。一旦stringify
遇到您的对象,它将转而使用您对象的toJSON()
实现。 - Ben
HTMLElement
(及其子元素)转换为字符串,并在需要时再进行转换。 - fardjad