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