您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)JavaScript中JSON.parse()的用法示例,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
JavaScript中 JSON.parse() 使用詳解
JSON.parse('{}') // {}
JSON.parse('true') // true
JSON.parse('null') // null
JSON.parse 語(yǔ)法
JSON.parse(text[, reviver])
text:要被解析成的字符串。
如果傳入數(shù)字則會(huì)轉(zhuǎn)換成十進(jìn)制數(shù)字輸出。
如果傳入布爾值則直接輸出。
如果傳入null則輸出null。
不支持其他類型的值,否則報(bào)錯(cuò)。
reviver: 可選,轉(zhuǎn)換器, 可以用來(lái)修改解析生成的原始值。
返回值: JavaScript對(duì)象/值, 對(duì)應(yīng)給定JSON文本的對(duì)象/值。
reviver 參數(shù)
reviver函數(shù),用于轉(zhuǎn)換處理解析到的JavaScript值,處理完后返回最終的結(jié)果。
轉(zhuǎn)換過(guò)程:
解析的值本身和它可能包含的所有屬性,按照一定遍歷順序分別調(diào)用reviver函數(shù),屬性名和值作為參數(shù)兩個(gè)參數(shù) key 和 value 傳入。
遍歷順序:按照層級(jí),從內(nèi)往外遍歷,最終到達(dá)最頂層,則是解析值本身。
reviver返回undefined,則刪除該對(duì)象,如果返回了其他值,則該值會(huì)成為當(dāng)前屬性的新值。
當(dāng)遍歷到最頂層時(shí),因?yàn)闆](méi)有屬性了,參數(shù)key是空字符串'',參數(shù)value則是當(dāng)前解析值。
對(duì)于reviver函數(shù)的兩個(gè)參數(shù) key 和 value,不同的數(shù)據(jù)類型:
基本值類型數(shù)據(jù)(string、number、boolean)和null,以及空對(duì)象{}和空數(shù)組[]:
則key是空字符串,value是對(duì)應(yīng)解析值。
因?yàn)橐呀?jīng)是最頂層,并沒(méi)有別的屬性。
Object對(duì)象:
則key和value都存在,與屬性名和值各自對(duì)應(yīng)。
最頂層會(huì)返回一個(gè)參數(shù)key為空的值。
數(shù)組:
key對(duì)應(yīng)數(shù)組索引,value對(duì)應(yīng)元素值。
最頂層會(huì)返回一個(gè)參數(shù)key為空的值。
基本類型的轉(zhuǎn)換:
JSON.parse('5', function (key, value) {
console.log(`key:${key}, value:${value}`)
})
// key:, value:5
JSON.parse('null', function (key, value) {
console.log(`key:${key}, value:${value}`)
})
// key:, value:null
JSON.parse('{}', function (key, value) {
console.log(`key:${key}, value:`, value)
})
// key:, value:{}
Object對(duì)象和數(shù)組:
JSON.parse('[1, 2]', function (key, value) {
console.log(`key:${key}, value:`, value)
})
// key:0, value: 1
// key:1, value: 2
// key:, value: (2) [empty × 2]
JSON.parse('{ "user": "張三", "info": { "age": 25, "sex": 1 } }', function (key, value) {
console.log(`key:${key}, value::`, value)
})
// key:user, value:: 張三
// key:age, value:: 25
// key:sex, value:: 1
// key:info, value:: {}
// key:, value:: {}
數(shù)據(jù)處理:
JSON.parse('[1, 2]', function (key, value) {
if(key === '') {
return value
}
return value + 3
})
// [4, 5]
關(guān)于“JavaScript中JSON.parse()的用法示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。