我正在尝试从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的值。
答案 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数据来解析它并获得值。