JSON.stringify()的深入用法——第2、3个参数

2023-10-27

第2个参数

作用:用于过滤、格式化
  1. 没有或者是null,则所有属性被序列化
    JSON.stringify({name: 'Ben', age: 18})
    JSON.stringify({name: 'Ben', age: 18}, null)
    
    // "{"name":"Ben","age":18}"
    
  2. 是数组,则属性名在该数组内的属性被序列化
    JSON.stringify({name: 'Ben', age: 18}, ['age'])
    
    // "{"age":18}"
    
  3. 是函数,则该函数会遍历属性,return undefined的属性会被忽略
    JSON.stringify({name: 'Ben', age: 18}, (key, value) => {
    	if (key === 'age') return undefined
    	return value
    })
    
    // "{"name":"Ben"}"
    

第3个参数

用于缩进、美化
  1. 没有或者是null,则正常打印
    JSON.stringify({name: 'Ben', age: 18}, null)
    JSON.stringify({name: 'Ben', age: 18}, null, null)
    
    // "{"name":"Ben","age":18}"
    
  2. 是数字,则代表缩进多少个空格,最大为10,小于1则没有空格
    JSON.stringify({name: 'Ben', age: 18}, null, -1)
    // "{"name":"Ben","age":18}"
    
    JSON.stringify({name: 'Ben', age: 18}, null, 4)
    /*
    	"{
    	    "name": "Ben",
    	     "age": 18
    	}"
    */
    
  3. 是字符串,则作为缩进使用
    JSON.stringify({name: 'Ben', age: 18}, null, "									
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSON.stringify()的深入用法——第2、3个参数 的相关文章