全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)技術(shù)文章正文

JSON是什么意思?JSON和JS對(duì)象的互相轉(zhuǎn)換

更新時(shí)間:2023-03-09 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

JSON 的英文全稱(chēng)是 JavaScript Object Notation,即“JavaScript 對(duì)象表示法”。簡(jiǎn)單來(lái)講,JSON 就是 Javascript 對(duì)象和數(shù)組的字符串表示法,它使用文本表示一個(gè) JS 對(duì)象或數(shù)組的信息,因此,JSON 的本質(zhì)是字符串。

作用:JSON 是一種輕量級(jí)的文本數(shù)據(jù)交換格式,在作用上類(lèi)似于 XML,專(zhuān)門(mén)用于存儲(chǔ)和傳輸數(shù)據(jù),但是 JSON 比 XML 更小、更快、更易解析。

現(xiàn)狀:JSON 是在 2001 年開(kāi)始被推廣和使用的數(shù)據(jù)格式,到現(xiàn)今為止,JSON 已經(jīng)成為了主流的數(shù)據(jù)交換格式。

JSON的兩種結(jié)構(gòu)

JSON 就是用字符串來(lái)表示 Javascript 的對(duì)象和數(shù)組。所以,JSON 中包含對(duì)象和數(shù)組兩種結(jié)構(gòu),通過(guò)這兩種結(jié)構(gòu)的相互嵌套,可以表示各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。

對(duì)象結(jié)構(gòu):

對(duì)象結(jié)構(gòu)在 JSON 中表示為 { } 括起來(lái)的內(nèi)容。數(shù)據(jù)結(jié)構(gòu)為 { key: value, key: value, … } 的鍵值對(duì)結(jié)構(gòu)。其中,key 必須是使用英文的雙引號(hào)包裹的字符串,value 的數(shù)據(jù)類(lèi)型可以是數(shù)字、字符串、布爾值、null、數(shù)組、對(duì)象6種類(lèi)型。

{
    name: "zs",
    'age': 20,
    "gender": '男',
    "address": undefined,
    "hobby": ["吃飯", "睡覺(jué)", '打豆豆']
    say: function() {}
}
{
    "name": "zs",
    "age": 20,
    "gender": "男",
    "address": null,
    "hobby": ["吃飯", "睡覺(jué)", "打豆豆"]
}

數(shù)組結(jié)構(gòu):數(shù)組結(jié)構(gòu)在 JSON 中表示為 [ ] 括起來(lái)的內(nèi)容。數(shù)據(jù)結(jié)構(gòu)為 [ "java", "javascript", 30, true … ] 。數(shù)組中數(shù)據(jù)的類(lèi)型可以是數(shù)字、字符串、布爾值、null、數(shù)組、對(duì)象6種類(lèi)型。

[ "java", "python", "php" ]
[ 100, 200, 300.5 ]
[ true, false, null ]
[ { "name": "zs", "age": 20}, { "name": "ls", "age": 30} ]
[ [ "蘋(píng)果", "榴蓮", "椰子" ], [ 4, 50, 5 ] ]

JSON語(yǔ)法注意事項(xiàng):

屬性名必須使用雙引號(hào)包裹,字符串類(lèi)型的值必須使用雙引號(hào)包裹。

JSON 中不允許使用單引號(hào)表示字符串,JSON 中不能寫(xiě)注釋。

JSON 的最外層必須是對(duì)象或數(shù)組格式,不能使用 undefined 或函數(shù)作為 JSON 的值。

JSON 的作用:在計(jì)算機(jī)與網(wǎng)絡(luò)之間存儲(chǔ)和傳輸數(shù)據(jù)。

JSON 的本質(zhì):用字符串來(lái)表示 Javascript 對(duì)象數(shù)據(jù)或數(shù)組數(shù)據(jù)

要實(shí)現(xiàn)從 JSON 字符串轉(zhuǎn)換為 JS 對(duì)象,使用 JSON.parse() 方法:

var obj = JSON.parse('{"a": "Hello", "b": "World"}')
//結(jié)果是 {a: 'Hello', b: 'World'}

要實(shí)現(xiàn)從 JS 對(duì)象轉(zhuǎn)換為 JSON 字符串,使用 JSON.stringify() 方法:

var json = JSON.stringify({a: 'Hello', b: 'World'})
//結(jié)果是 '{"a": "Hello", "b": "World"}'

分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!