JSON.stringify()
我们一般用到的都是将数据转换成json的字符串模式的时候才会用到JSON.stringify(),或者做深拷贝的时候使用
今天我们一起来看下它的其他参数
第2个参数
用途:用于过滤和格式化
1、如果没有第二个参数或者是null,这时候所得属性被序列号
JSON.stringify( { age : '18' , name : 'handsomeGuy' } )
或者
JSON.stringify( { age : '18' , name : 'handsomeGuy' } , null )
//"{"age" : "18" , "name" : "handsomeGuy" }"
2、是数组,则属性名在该数组内的属性被序列化
JSON.stringify({name: 'handsomeGuy', age: 18}, ['age'])
// "{"age":18}"
3、如果是函数,这个函数就会遍历全部的属性
JSON.stringify({name: 'handsomeGuy', age: 18}, (key, value) => {
if (key === 'age'){
return undefined
}
return value
})
// "{"name":"handsomeGuy"}"
第3个参数
用来美化代码格式
1、当第三个参数是数字的时候,就代表要缩紧对应数量的空格,最大是10,小于1的话就没有空格了
我们常用到的是4,用来展示json数据,可以换行显示
JSON.stringify({name: 'handsomeGuy', age: 18}, null,4)
2、如果是字符串,则代替之前的 空格 作为缩紧的符号使用
原先是4个空格,现在替换成了填写的字符串
实例1:
实例2: