牛骨文教育服务平台(让学习变的简单)
博文笔记

LocalStorage存储JSON对象的问题

创建时间:2017-06-06 投稿人: 浏览次数:317

localStorage - 没有时间限制的数据存储

1 var arr=[1,2,3];
2 localStorage.setItem("temp",arr); //会返回1,2,3
3 console.log(typeof localStorage.getItem("temp"));//string
4 console.log(localStorage.getItem("temp"));//1,2,3

•localStorage.setItem() 不会自动将Json对象转成字符串形式

1 var obj = {“a”: 1,”b”: 2};
2 typeof localStorage.getItem(“temp2”);//也会返回String
3 localStorage.setItem(“temp2”, obj);//但是返回[object Object]

•用localStorage.setItem()正确存储JSON对象方法是:
•存储前先用JSON.stringify()方法将json对象转换成字符串形式
•JSON.stringify() 方法可以将任意的 JavaScript 值序列化成 JSON 字符串

1 var obj = {“a”: 1,”b”: 2};
2 obj = JSON.stringify(obj); //转化为JSON字符串
3 localStorage.setItem(“temp2”, obj);//返回{“a”:1,”b”:2}
•后续要操作该JSON对象,要将之前存储的JSON字符串先转成JSON对象再进行操作

1 obj=JSON.parse(localStorage.getItem(“temp2”));

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。