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

本文介绍了JSON.stringify和JSON.parse两个JavaScript内置方法,它们分别用于将对象或数组转换为字符串以及将字符串还原为JSON对象。当结合使用时,它们可以实现深拷贝功能。此外,文中提到了JSON.parse的可选参数,一个用于处理转换过程中的值,另一个则涉及字符串化时的格式控制。JSON.stringify的参数包括要转换的对象、可选的replacer函数和用于控制缩进的参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最常用: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}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值