(1)第一个参数就是我们经常使用的,即传入需要转化的对象,
(2)第二个参数用于特殊处理对象,可以传入数组,也可以传方法,(key,value)=>{ return value},可以用于处理对应key的内容;
(3)第三个参数是数字或字符串,表示缩进内容,如果是数字,则表示缩进几个空格;如果是字符串,则缩进的内容是对应的字符串。
首先定义一个对象:
1 let demoObj = { 2 name:"张三", 3 age:"20", 4 phone:"132*********", 5 address:"xx省xx市" 6 }
我们可以看到,当第2个参数为数组时,会对数据进行遍历,从对象中找出存在的key,然后处理保存key的数据处理为字符串。下面示例中数组传了【"noKey"】字段,但字符串并没有他的内容,因为参数1中的对象没有这个key,处理的字符串的key的顺序与第2个参数数组顺序一致。
当第2个参数为方法时,可以针对特定的某个key进行数据处理,(key,value)=>{return value}
我们可以将function处理成字符串,然后如果要转回json时可以通过 new Function(`return ${fnStr}`)又处理为方法了。