JSON

JavaScript Object Notation 是一種用于數(shù)據(jù)交換的文本格式

格式

  • 復(fù)合類型的值只能是數(shù)組或?qū)ο?,不能是函?shù)、正則表達(dá)式對(duì)象、日期對(duì)象。
  • 簡(jiǎn)單類型的值只有四種:字符串、數(shù)值(必須以十進(jìn)制表示)、布爾值和null(不能使用NaN, Infinity, -Infinity和undefined)。
  • 字符串必須使用雙引號(hào)表示,不能使用單引號(hào)。
  • 對(duì)象的鍵名必須放在雙引號(hào)里面。
  • 數(shù)組或?qū)ο笞詈笠粋€(gè)成員的后面,不能加逗號(hào)。

注意

空數(shù)組和空對(duì)象都是合格的 JSON 值,null本身也是一個(gè)合格的 JSON 值。

方法

JSON.stringify()

用于將一個(gè)值轉(zhuǎn)為字符串,并且可以被JSON.parse方法還原。

JSON.stringify('abc')//""abc"" 
//雙引號(hào)可以讓 JavaScript 引擎知道,foo是一個(gè)字符串,而不是一個(gè)變量名
JSON.stringify(1)//"1"
JSON.stringify([])//"[]"
JSON.stringify({})//"{}"
JSON.stringify([1,2,'hello'])//"[1,2,"hello"]"
JSON.stringify(name : 'zhang')//"{"name":"zhang"}"

比較

JSON.stringify('abc') === "abc"http://false
JSON.stringify('abc') === "\"abc\""http://true
  • 對(duì)象中,有成員的值是undefined、函數(shù)等,這個(gè)成員會(huì)被JSON.stringify()過(guò)濾。
  • 數(shù)組中,成員是undefined、函數(shù)等,則這些值被轉(zhuǎn)成null。正則對(duì)象會(huì)被轉(zhuǎn)成空對(duì)象。

JSON.parse()

用于將JSON字符串轉(zhuǎn)化成對(duì)象。

JSON.parse('"abc"');//"abc"
JSON.parse('true');//true
JSON.parse('{}');//{}
JSON.parse('[1,2,"hello"]');//[1, 2, "hello"]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容