JSON 与 JS 对象的关系:
很多人搞不清楚 JSON 和 JS 对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
如
var obj = {a: 'Hello', b: 'World'}; //这是一个对象,注意键名也是可以使用引号包裹的
var json = '{"a": "Hello", "b": "World"}'; //这是一个 JSON 字符串,本质是一个字符串
JSON 和 JS 对象互转:
要实现从JSON字符串转换为JS对象,使用 JSON.parse() 方法:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}
要实现从JS对象转换为JSON字符串,使用 JSON.stringify() 方法:
var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'
sessionStorage
作用:它只是可以将一部分数据在当前会话中保存下来,刷新页面数据依旧存在。但当页面关闭后,sessionStorage 中的数据就会被清空
sessionStorage为什么使用json格式:
sessionStorage是HTML5中的一种Web Storage API,用于在浏览器中存储数据。它的值必须是字符串类型,因此在存储数据时,需要将数据转换为字符串格式。JSON是一种轻量级的数据交换格式,它可以将JavaScript对象转换为字符串,并且可以轻松地将字符串转换回JavaScript对象。因此,将数据存储为JSON格式可以方便地将数据转换为字符串,并在需要时将其转换回JavaScript对象。这也是为什么在使用sessionStorage时,经常使用JSON.stringify()将JavaScript对象转换为JSON字符串,并使用JSON.parse()将JSON字符串转换回JavaScript对象。
sessionStorage的方法
setItem存储value
用途:将value存储到key字段
sessionStorage.setItem("key", "value");
getItem获取value
用途:获取指定key本地存储的值
var value = sessionStorage.getItem("key");
removeItem删除key
用途:删除指定key本地存储的值
sessionStorage.removeItem("key");
clear清除所有的key/value
用途:清除所有的key/value
jsessionStorage.clear();
sessionStorage的key和length属性实现遍历
sessionStorage提供的key()和length可以方便的实现存储的数据遍历,例如
var storage = window.sessionStorage;
for(var i=0, len=storage.length; i<len;i++){
var key = storage.key(i);
var value = storage.getItem(key);
console.log(key + "=" + value);
}