LocalStorage存储JSON对象的问题

来源:互联网 发布:淘宝店铺转化率是什么 编辑:程序博客网 时间:2024/05/16 12:57

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

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

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

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

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

 var obj = {"a": 1,"b": 2}; obj = JSON.stringify(obj); //转化为JSON字符串 localStorage.setItem("temp2", obj);//返回{"a":1,"b":2}

4、后续要操作该JSON对象,要将之前存储的JSON字符串先转成JSON对象再进行操作

obj=JSON.parse(localStorage.getItem("temp2"));

5、js部分

<script>     var obj = {"name": 'jack',"passWord": 'hishsishi'};     obj = JSON.stringify(obj); //转化为JSON字符串     localStorage.setItem("temp2", obj);//返回{"name": 'jack',"passWord": 'hishsishi'}     var myObj=JSON.parse(localStorage.getItem("temp2"));     console.log(myObj)//返回{"name": 'jack',"passWord": 'hishsishi'}     console.log(myObj.name)//返回jack</script>
阅读全文
1 0
原创粉丝点击