前端技術之:JSON.stringfy詳細說明-創(chuàng)新互聯(lián)

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

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、小程序設計、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了平原免費建站歡迎大家使用!

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
    })
)

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前標題:前端技術之:JSON.stringfy詳細說明-創(chuàng)新互聯(lián)
本文地址:http://bm7419.com/article6/diooog.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、品牌網(wǎng)站設計網(wǎng)站策劃建站公司、網(wǎng)站制作、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設