JSON基本語(yǔ)法及與JavaScript的異同實(shí)例分析
本文實(shí)例講述了JSON基本語(yǔ)法及與JavaScript的異同。分享給大家供大家參考,具體如下:
JSON 的語(yǔ)法可以表達(dá)三種類型的值。
- 簡(jiǎn)單值:與 JavaScript 語(yǔ)法相同,可以表示字符串、數(shù)值、布爾值以及 null,但不支持 JavaScript 的 undefined。
- 對(duì)象(復(fù)雜數(shù)據(jù)類型):是一組有序的鍵值對(duì),每個(gè)鍵值對(duì)中的鍵可以是簡(jiǎn)單值,也可以是復(fù)雜數(shù)據(jù)類型的值。
- 數(shù)組(復(fù)雜數(shù)據(jù)類型):是一組有序的值的列表,可以使用數(shù)值索引來(lái)訪問(wèn)其中的值,這個(gè)值可以是任意類型(簡(jiǎn)單值、對(duì)象或數(shù)組)。
JSON 只是一種表示結(jié)構(gòu)化數(shù)據(jù)的格式,雖然與 JavaScript 中表示的數(shù)據(jù)在某些語(yǔ)法上相同,但它不只是應(yīng)用于 JavaScript 中。
1 簡(jiǎn)單值
JSON 字符串與 JavaScript 字符串的區(qū)別是:JSON 字符串只能使用雙引號(hào)!而 JavaScript 中字符串還可以使用單引號(hào)。
布爾值和 null 也是有效的 JSON 字符串。在實(shí)踐中,JSON 更多是用來(lái)表達(dá)更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的。
2 對(duì)象
JSON 對(duì)象與 JavaScript 對(duì)象有一些不同。在 JavaScript 中的對(duì)象字面量是這樣的:
var person = { name : "deniro", age :15 }
而在 JSON 中的對(duì)象必須給屬性加上引號(hào),而在 JavaScript 中倒是可加可不加:
var person = { "name" : "deniro", "age" :15 }
JSON 中的對(duì)象還有兩點(diǎn)不同:
①. 不需要聲明變量。
②. 末尾不需要加分號(hào)。
在 JSON 中的對(duì)象的屬性的值,可以是簡(jiǎn)單值,也可以是復(fù)雜類型的值:
var person = { "name" : "deniro", "age" : 15, "school" : { "name" : "MIT", "location":"American" } }
注意,同一個(gè)對(duì)象中不能出席兩個(gè)同名的屬性!再重復(fù)一次,JSON 對(duì)象中的所有屬性名都必須加上雙引號(hào)?。?!
3 數(shù)組
JSON 數(shù)組采用的就是 JavaScript 中的數(shù)組字面量形式:
[15,"Hi",true]
數(shù)組與對(duì)象結(jié)合,可以構(gòu)建出更復(fù)雜的數(shù)據(jù)集合:
[ { "title" :"萬(wàn)物簡(jiǎn)史", "authors":[ "比爾·布萊森" ], year:2005 }, { "title" :"父與子全集", "authors":[ "?!W·卜勞恩" ], year:2003 } ]
這個(gè)數(shù)組包含了表示圖書(shū)的對(duì)象,每個(gè)圖書(shū)對(duì)象有一個(gè) authors 屬性,它的值也是一個(gè)數(shù)組。對(duì)象和數(shù)組一般是 JSON 數(shù)據(jù)結(jié)構(gòu)的最外層形式。
PS:這里再為大家推薦幾款相關(guān)的json在線工具供大家參考:
在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript中json操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- 溫習(xí)Javascript基礎(chǔ)語(yǔ)法之詞法結(jié)構(gòu)
- JavaScript語(yǔ)法約定和程序調(diào)試原理解析
- javascript中正則表達(dá)式語(yǔ)法詳解
- javascript 高級(jí)語(yǔ)法之繼承的基本使用方法示例
- 詳解JavaScript 新語(yǔ)法之Class 的私有屬性與私有方法
- NodeJS模塊與ES6模塊系統(tǒng)語(yǔ)法及注意點(diǎn)詳解
- JavaScript ES6中的簡(jiǎn)寫(xiě)語(yǔ)法總結(jié)與使用技巧
- js es6系列教程 - 新的類語(yǔ)法實(shí)戰(zhàn)選項(xiàng)卡(詳解)
- 關(guān)于javascript事件響應(yīng)的基礎(chǔ)語(yǔ)法總結(jié)(必看篇)
- 深入理解JavaScript中的語(yǔ)法和代碼結(jié)構(gòu)
相關(guān)文章
js點(diǎn)擊按鈕實(shí)現(xiàn)多張圖片循環(huán)切換
這篇文章主要為大家詳細(xì)介紹了js點(diǎn)擊按鈕實(shí)現(xiàn)多張圖片循環(huán)切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01基于chosen插件實(shí)現(xiàn)人員選擇樹(shù)搜索自動(dòng)篩選功能
這篇文章主要介紹了基于chosen插件實(shí)現(xiàn)人員選擇樹(shù)搜索自動(dòng)篩選功能的相關(guān)資料,需要的朋友可以參考下2016-09-09javascript中不提供sleep功能如何實(shí)現(xiàn)這個(gè)功能
javascript中不提供sleep功能,而我們時(shí)長(zhǎng)會(huì)用到這個(gè)功能,下面與大家分享個(gè)不錯(cuò)的解決方法,而且在不同的機(jī)器上的執(zhí)行速度是一致的2014-05-05JS模擬實(shí)現(xiàn)Excel條件格式中的色階效果
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript模擬實(shí)現(xiàn)Excel條件格式中的色階效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下2023-05-05javascript AutoScroller 函數(shù)類
javascript AutoScroller 自動(dòng)滾動(dòng)類代碼,學(xué)習(xí)類的朋友可以參考下。2009-05-05詳解babel是如何將class語(yǔ)法糖轉(zhuǎn)換為es5的語(yǔ)法
這篇文章主要詳細(xì)介紹了babel是如何將class語(yǔ)法糖轉(zhuǎn)換為es5的語(yǔ)法,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-02-02關(guān)于同時(shí)使用swiper和echarts遇到的問(wèn)題及解決方法
這篇文章主要介紹了關(guān)于同時(shí)使用swiper和echarts遇到的問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04javascript仿京東導(dǎo)航左側(cè)分類導(dǎo)航下拉菜單效果
這篇文章主要為大家詳細(xì)介紹了javascript仿京東導(dǎo)航左側(cè)分類導(dǎo)航下拉菜單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03使用js判斷TextBox控件值改變?nèi)缓蟪霭l(fā)事件
這篇文章主要介紹了使用js判斷TextBox控件值改變?nèi)缓蟪霭l(fā)事件。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-03-03