localStorage是HTML5提供的再客户端实现本地存储的一种方法,但是localStorage方法只能存储字符串数据,有时候我们需要存储对象到本地比如:JSON;那么,localStorage怎么才能实现JSON数据的存储与读取呢?
思路:既然localStorage只能存储字符串数据,那么我们就可以先把JSON对象转换成字符串,然后用localStorage方法存储起来;等到需要用到这些JSON数据时,先把它们读取出来,然后再转换成JSON对象加以利用。
具体代码如下:
var jsonData = {'name': '张三', 'age': 29}; // 定义一个JSON对象 var str_jsonData = JSON.stringify(jsonData); console.log(typeof(str_jsonData)); // string localStorage.setItem('localData', str_jsonData); // 存储字符串数据到本地 var getLocalData = localStorage.getItem('localData'); // 读取字符串数据 console.log(typeof(getLocalData)); // string var jsonObj = JSON.parse(getLocalData); console.log(typeof(jsonObj)); // obj console.log(jsonObj.age); // 29
扩展:
stringify()用于从一个对象解析出字符串;
parse()用于从一个字符串中解析出json对象。