您好,登錄后才能下訂單哦!
JSON.stringify() 語法
JSON.stringify(value[, replacer[, space]])
value 被序列化為字符串的對象
replacer 根據類型不同,其行為也不一樣。如果是一個函數類型,則相當于是一個filter,可以對序列化的鍵值對進行加工處理;如果是一個數組,則只有符合數組中名稱的key才會被輸出
space 如果為0或不填,則不進行格式化處理;如果為大于0的數值,則表示每級縮進空格數;如果是一個字符串,則表示每級縮進時替代空格進行填充的字符串內容。
通過以下的data作為示例:
let data = {
name: 'wang',
age: 28,
address: null,
favorites: undefined,
company: {
name: 'world village',
address: 'Beijing city'
}
}
不加任何參數,直接輸出:
console.log(JSON.stringify(data))
結果為:
{"name":"wang","age":28,"address":null,"company":{"name":"world village","address":"Beijing city"}}
第二個參數為數組:
console.log(JSON.stringify(data, ['name', 'age']))
結果為:
{"name":"wang","age":28}
第二個參數是一個函數:
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"}}
如果第三個參數為0或者null:
console.log(JSON.stringify(data, null, 0))
則結果為:
{"name":"wang","age":28,"address":null,"company":{"name":"world village","address":"Beijing city"}}
如果第三個參數為大于0的數值:
console.log(JSON.stringify(data, null, 2))
則結果為:
{
"name": "wang",
"age": 28,
"address": null,
"company": {
"name": "world village",
"address": "Beijing city"
}
}
如果第三個參數為字符串:
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
})
)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。