溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

前端技術之:JSON.stringfy詳細說明

發(fā)布時間:2020-09-27 02:15:23 來源:網(wǎng)絡 閱讀:274 作者:popgis 欄目:web開發(fā)

JSON.stringify() 語法
JSON.stringify(value[, replacer[, space]])


value 被序列化為字符串的對象

replacer 根據(jù)類型不同,其行為也不一樣。如果是一個函數(shù)類型,則相當于是一個filter,可以對序列化的鍵值對進行加工處理;如果是一個數(shù)組,則只有符合數(shù)組中名稱的key才會被輸出

space 如果為0或不填,則不進行格式化處理;如果為大于0的數(shù)值,則表示每級縮進空格數(shù);如果是一個字符串,則表示每級縮進時替代空格進行填充的字符串內(nèi)容。


通過以下的data作為示例:

let data = {
    name: 'wang',
    age: 28,
    address: null,
    favorites: undefined,
    company: {
        name: 'world village',
        address: 'Beijing city'
    }
}

不加任何參數(shù),直接輸出:

console.log(JSON.stringify(data))

結果為:

{"name":"wang","age":28,"address":null,"company":{"name":"world village","address":"Beijing city"}}

第二個參數(shù)為數(shù)組:

console.log(JSON.stringify(data, ['name', 'age']))

結果為:

{"name":"wang","age":28}

第二個參數(shù)是一個函數(shù):

console.log(
    JSON.stringify(data, (k, v) => {
        if ('age' == k) {
            return undefined
        }
        return v
    })
)

結果為:

{"name":"wang","address":null,"company":{"name":"world village","address":"Beijing city"}}

如果第三個參數(shù)為0或者null:

console.log(JSON.stringify(data, null, 0))

則結果為:

{"name":"wang","age":28,"address":null,"company":{"name":"world village","address":"Beijing city"}}

如果第三個參數(shù)為大于0的數(shù)值:

console.log(JSON.stringify(data, null, 2))

則結果為:

{
  "name": "wang",
  "age": 28,
  "address": null,
  "company": {
    "name": "world village",
    "address": "Beijing city"
  }
}

如果第三個參數(shù)為字符串:

console.log(JSON.stringify(data, null, '**'))

則結果為:

{
**"name": "wang",
**"age": 28,
**"address": null,
**"company": {
****"name": "world village",
****"address": "Beijing city"
**}
}

如果過濾值為null或者undefined的鍵值對?

let data = {
    name: 'wang',
    age: 28,
    address: null,
    favorites: undefined,
    men: true,
    women: false,
    company: {
        name: 'world village',
        address: 'Beijing city'
    }
}
console.log(
    JSON.stringify(data, (k, v) => {
        if (null != v && undefined != v) return v
    })
)
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI