首页 > Web开发 > 详细

JSON.stringfy妙用

时间:2020-12-01 16:05:47      阅读:35      评论:0      收藏:0      [点我收藏+]

JSON.stringfy() 可以将javascript对象转换为JSON字符串

JSON.parse() 可以将JSON字符串转换为对象

let arr = [1,2,3];
JSON.stringify(arr);//‘[1,2,3]‘
typeof JSON.stringify(arr);//string

let string = ‘[1,2,3]‘;
console.log(JSON.parse(string))//[1,2,3]
console.log(typeof JSON.parse(string))//object

在使用JSON.parse()需要注意一点,由于此方法是将JSON字符串转换成对象,所以你的字符串必须符合JSON格式,即键值都必须使用双引号包裹

1.判断数组是否包含某对象,或者判断对象是否相等。

let obj = [
            {name:‘yjw‘},
            {age:100},
            {job:‘ssss‘}
        ]
        let obj1 = {job:‘ssss‘}
        console.log(JSON.stringify(obj).indexOf(JSON.stringify(obj1)) !== -1)

//判断两数组/对象是否相等
let a = [1,2,3],
    b = [1,2,3];
JSON.stringify(a) === JSON.stringify(b);//true

2.让localStorage/sessionStorage可以存储对象。

//
function setLocalStorage(key,val){
    window.localStorage.setItem(key,JSON.stringify(val));
};
//
function getLocalStorage(key){
    let val = JSON.parse(window.localStorage.getItem(key));
    return val;
};
//测试
setLocalStorage(‘demo‘,[1,2,3]);
let  a = getLocalStorage(‘demo‘);//[1,2,3]

3.实现对象深拷贝

//深拷贝
function deepClone(data) {
    let _data = JSON.stringify(data),
        dataClone = JSON.parse(_data);
    return dataClone;
};
//测试
let arr = [1,2,3],
    _arr = deepClone(arr);
arr[0] = 2;
console.log(arr,_arr)//[2,2,3]  [1,2,3]

 

JSON.stringfy妙用

原文:https://www.cnblogs.com/junwu/p/14067980.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!