1.JSON.stringify与JSON.parse
JSON.stringify将对象转化为json字符串,JSON.parse将json字符串转换为对象(或数组)。
2.JSON.stringify的作用
- 判断引用类型值是否相等:
//判断数组是否包含某对象
let data = [
{name:'json'},
{name:'python'},
{name:'java'},
],
val = {name:'json'};
JSON.stringify(data).indexOf(JSON.stringify(val)) !== -1;//true
//判断两数组/对象是否相等
let a = [1,2,3],
b = [1,2,3];
JSON.stringify(a) === JSON.stringify(b);//true
- 将对象存储到localStorage/settionStorage
set(key, val) {
if (val === undefined) {
return;
}
storage.setItem(key, JSON.stringify(val));
},
get(key, def) {
const val = JSON.parse(storage.getItem(key));
return val === undefined ? def : val;
}
- 对对象进行深拷贝