为什么 jquery localStorage 的深拷贝不起作用?

why jquery deep copy for localStorage doesn't work?

我在 localStorage 中得到的是 [object Object],但对于 javascript 中的其他变量,它确实有效。

示例代码:

var some_hash = {
"key1":"value1",
"key2": "value2",
"key3" : [{
"key3a": "value3a"}]


}

var deep_copy = $.extend(true, {}, some_hash)
console.log(deep_copy)
Object {key1: "value1", key2: "value2", key3: Array[1]}

localStorage["help"] = $.extend(true, {}, some_hash)
console.log(localStorage["help"])
[object Object]

这是为什么?任何解决方法?

localStorage 仅将值存储为字符串,而不是对象。

尝试使用 JSON.stringify 和 JSON.parse:

 var deep_copy = JSON.stringify($.extend(true, {}, some_hash));
 console.log(JSON.parse(deep_copy));

也请看这里: Storing Objects in HTML5 localStorage