本文實例講述了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":[ "埃·奧·卜勞恩" ], year:2003 }]這個數(shù)組包含了表示圖書的對象,每個圖書對象有一個 authors 屬性,它的值也是一個數(shù)組。對象和數(shù)組一般是 JSON 數(shù)據(jù)結(jié)構(gòu)的最外層形式。
PS:這里再為大家推薦幾款相關(guān)的json在線工具供大家參考:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.Vevb.com/code/json
JSON在線格式化工具:
http://tools.Vevb.com/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.Vevb.com/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
新聞熱點
疑難解答
圖片精選