将对象从本地存储存储到变量中

时间:2014-01-23 23:11:50

标签: javascript jquery html5

我正在尝试从localstorage中检索一个对象并尝试将其加载到变量中。我怎样才能做到这一点 ?这就是我被困的地方

   var messageStorage={};
    messageStorage.retrieve = function () {
        var storageString = localStorage.getItem(credentials.mobileNumber);
        var storageObj = JSON.parse(storageString);

        // whats should go here for messageStorage to be equal to storageObj
    };

在messageStorage.retrieve();变量messageStorage必须包含来自localstorage的值。

3 个答案:

答案 0 :(得分:0)

使用localStorage,数据实际上存储为字符串。 并且您使用JSON.parse返回值

JSON.parse() Returns the Object corresponding to the given JSON text.
Example :
JSON.parse('{}'); // {}
    JSON.parse('true'); // true
    JSON.parse('"foo"'); // "foo"
    JSON.parse('[1, 5, "false"]'); // [1, 5, "false"]
    JSON.parse('null'); // null

但是我看到你想要返回变量。那么这个变量的类型是什么?数字,字符串,布尔值?您可以从String转换为您需要的

答案 1 :(得分:0)

localStorage允许您只保存字符串,因此如果您必须保存对象,则应将其保存为JSON字符串,或者使用此library来解决问题

答案 2 :(得分:0)

首先,我们无法将对象存储到localstorage,只允许使用字符串:

localStorage.setItem("test", JSON.stringify(jsondata));

var item = JSON.parse(localStorage.getItem("test"));

现在你有了json数据来解析它并获得值。