JSON.stringify()的深入用法——第2、3個參數

第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, "😁")
    
    /*
    	"{
    	😁"name": "Ben",
    	😁"age": 18
    	}"
    */
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章