JavaScript新手求助:如何在浏览器Local Storage存储/获取JSON对象?
如何在Local Storage中存储和取回JSON对象
你代码里有两个关键问题导致无法正常存储和读取:
- 对象声明语法错误:
var obj{应该写成var obj = { - Local Storage只能存储字符串,不能直接存对象,而且
setItem方法需要传入键名和字符串值两个参数,你只传了对象,不符合方法要求。
正确的存储步骤:
- 先定义合法的JSON对象
- 用
JSON.stringify()把对象转换成JSON格式的字符串 - 调用
localStorage.setItem(键名, 字符串值)完成存储
示例代码:
// 定义合法的JSON对象 var obj = { "name":"Quandale Dingle", "age":24, "team":"Seahawks" }; // 把对象转成字符串后存储,指定键名比如"userInfo" localStorage.setItem("userInfo", JSON.stringify(obj));
正确的取回步骤:
- 用
localStorage.getItem(键名)获取存储的字符串 - 用
JSON.parse()把字符串转回JSON对象
示例代码:
// 读取存储的字符串 var storedStr = localStorage.getItem("userInfo"); // 转成JSON对象 var storedObj = JSON.parse(storedStr); // 现在可以正常访问对象属性了 console.log(storedObj.name); // 输出 "Quandale Dingle" console.log(storedObj.age); // 输出 24
内容的提问来源于stack exchange,提问作者Rodger
相关产品推荐
相关产品推荐

