在HTML5本地存储中存储javascript对象

Dhe*_*j R 2 javascript html5 local-storage

我想在HTML5本地存储中存储JavaScript对象.

sessionStorage.setItem("localObj",this);
Run Code Online (Sandbox Code Playgroud)

我在函数中使用上述语句.对象包含HTML标记.我既不能将其转换为字符串也不能转换为JSON.我该如何处理?

Sud*_*han 8

您必须先将对象转换为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);
}
Run Code Online (Sandbox Code Playgroud)