JSON,即“JavaScript Object Notation”,是一種輕量級(jí)的數(shù)據(jù)交換格式,常用于前后端數(shù)據(jù)的傳輸。JSON報(bào)文是指通過(guò)網(wǎng)絡(luò)傳輸?shù)腏SON數(shù)據(jù),通常包含了多個(gè)key-value鍵值對(duì)。在前后端數(shù)據(jù)交互中,通常需要將接收到的JSON報(bào)文轉(zhuǎn)換成JSON對(duì)象,以方便程序?qū)?shù)據(jù)進(jìn)行操作。
一個(gè)典型的JSON報(bào)文,如下所示:
{ "name": "Tom", "age": 22, "isMale": true, "address": { "province": "Guangdong", "city": "Shenzhen" }, "hobbies": ["reading", "running", "swimming"] }
可以看到,該JSON報(bào)文包含了多個(gè)key-value鍵值對(duì)。其中,name、age、isMale是JSON對(duì)象的基本數(shù)據(jù)類(lèi)型,address是一個(gè)JSON嵌套對(duì)象,hobbies是一個(gè)JSON數(shù)組。
在JavaScript中,將JSON報(bào)文轉(zhuǎn)換成JSON對(duì)象非常簡(jiǎn)單,只需使用JSON對(duì)象的parse()方法即可。如下所示:
const jsonStr = `{ "name": "Tom", "age": 22, "isMale": true, "address": { "province": "Guangdong", "city": "Shenzhen" }, "hobbies": ["reading", "running", "swimming"] }`; const jsonObj = JSON.parse(jsonStr); console.log(jsonObj.name); // 輸出:Tom console.log(jsonObj.hobbies[0]); // 輸出:reading console.log(jsonObj.address.city); // 輸出:Shenzhen
可以看到,使用JSON對(duì)象的parse()方法將JSON報(bào)文轉(zhuǎn)換成JSON對(duì)象,非常方便。需要注意的是,JSON報(bào)文中的鍵名必須用雙引號(hào)包裹,否則將無(wú)法正常轉(zhuǎn)換成JSON對(duì)象。