浅记一下JSON.stringify的3个参数说明

 我们经常会使用JSON.stringify去处理对象,将其处理为字符串,JSON.stringify可以传入3个参数,               

  (1)第一个参数就是我们经常使用的,即传入需要转化的对象,

       (2)第二个参数用于特殊处理对象,可以传入数组,也可以传方法,(key,value)=>{ return value},可以用于处理对应key的内容;

       (3)第三个参数是数字或字符串,表示缩进内容,如果是数字,则表示缩进几个空格;如果是字符串,则缩进的内容是对应的字符串。

 

首先定义一个对象:

1 let demoObj = {
2     name:"张三",
3     age:"20",
4     phone:"132*********",
5     address:"xx省xx市"
6 }

 

1. 第一种使用,直接只传一个参数,我们可以看到效果,处理为字符串了

 

 

 2. 第二种使用,我们传入2个参数

我们可以看到,当第2个参数为数组时,会对数据进行遍历,从对象中找出存在的key,然后处理保存key的数据处理为字符串。下面示例中数组传了【"noKey"】字段,但字符串并没有他的内容,因为参数1中的对象没有这个key,处理的字符串的key的顺序与第2个参数数组顺序一致。

当第2个参数为方法时,可以针对特定的某个key进行数据处理,(key,value)=>{return value}

 

 

 3. 传个第3个参数,可以对字符串进行缩进,如果传的是数字,那么就缩进空格,如果其他字符串,则缩进的是字符串内容

 

 

 

 

 

 

 

4. JSON.stringify的弊端:如果key的值为方法,则处理后会丢失这个key

 

我们可以将function处理成字符串,然后如果要转回json时可以通过 new Function(`return ${fnStr}`)又处理为方法了。

 

 

 

 

 

 

 

 

posted @   蛙仔  阅读(1096)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2020-06-30 将一维数组处理成树形结构数据
2020-06-30 树形节点的过滤处理
点击右上角即可分享
微信分享提示