JSON基本語法及與JavaScript的異同實例分析
本文實例講述了JSON基本語法及與JavaScript的異同。分享給大家供大家參考,具體如下:
JSON 的語法可以表達(dá)三種類型的值。
- 簡單值:與 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 更多是用來表達(dá)更復(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中正則表達(dá)式語法詳解
- 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)文章
使用?JavaScript?Promise?讀取?Github?用戶數(shù)據(jù)
這篇文章主要介紹了使用JavaScript?Promise讀取Github用戶數(shù)據(jù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08
JS實現(xiàn)網(wǎng)頁右側(cè)帶動畫效果的伸縮窗口代碼
這篇文章主要介紹了JS實現(xiàn)網(wǎng)頁右側(cè)帶動畫效果的伸縮窗口代碼,通過JavaScript基于時間函數(shù)實現(xiàn)頁面元素樣式漸變效果,具有一定參考借鑒價值,需要的朋友可以參考下2015-10-10
使用javascript實現(xiàn)監(jiān)控視頻播放并打印日志
這篇文章主要介紹了使用javascript實現(xiàn)監(jiān)控視頻播放并打印日志的方法及示例代碼分享,非常不錯,需要的朋友可以參考下2015-01-01
js數(shù)組刪除問題(splice和delete的用法)
這篇文章主要介紹了js數(shù)組刪除問題(splice和delete的用法),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
JavaScript forEach()遍歷函數(shù)使用及介紹
這篇文章主要介紹了JavaScript forEach()遍歷函數(shù)使用及介紹,本文講解了使用forEach遍歷數(shù)組的用法以及提前終止循環(huán)的一個方法技巧,需要的朋友可以參考下2015-07-07

