JSON.stringify()和JSON.parse()那些你不知道的参数

最常用:JSON.stringify将对象/数组转换成字符串;JSON.parse将字符串转成json对象,

当他俩配合起来,一起作用在一个变量上时,是深拷贝的功能。

JSON.parse

JSON.parse 是有两个参数的,第一个必填,另一个可选函数

let str = '{"isSHow":true, "age":18}'
const obj = JSON.parse(str,function(key,val){
  if((typeof val) == 'number') return val * 2
    return val
});
console.log(obj);//{isSHow: true, age: 36}

JSON.stringify

  • JSON.stringify 是有三个参数,第一个必填,其他俩可选
  • 第一个就是对象,
  • 第二个replacer 函数,选择性地仅处理包含数组指定的属性(可以是数组 也可以是方法);
  • 第三个是用来控制字符间距;如为数字,缩进数字个字符(最大长度10);如为转义字符(比如是\t 回车,每行就有一个回车);如为字符串,每行输出的时候把这些字符串加上(最大长度10)
const settings = {
  username: "jiajia",
  level: 171,
  health: 60
};
const data = JSON.stringify(settings, ["health",'level'],' '); //有空格间距
console.log(data);
//{
//  "health": 90
// }
// const data = JSON.stringify(settings, ["health"],'');//第三个参数不加和现在会是一样的结果
// console.log(data);{"health": 90}

猜你喜欢

转载自blog.csdn.net/qq_40269801/article/details/131582658