JSON的語法

    之前上Ajax的時候也有聽老師說過json,當時候略略地看網上的教程,感覺也沒什麼收穫,這次我想要認真地瞭解一下json,畢竟現在json這麼流行。

    之前XML一直都是互聯網上傳輸結構化數據的事實標準,方便了服務器與服務器之間的通信,但是因爲有部分人覺得XML使用起來比較繁瑣,所以關於這個問題上提出了json,它是javascript的一個嚴格的子集,利用了javascript中的一些模式來表示結構化數據。其實總的來說就是爲了讓讀寫結構化數據有更好的方式而已,所以其實json它不是一種編程語言,它只是一種數據格式。正因爲只是數據格式,而不會僅僅只侷限於javascript,因爲很多編程語言都有針對json的解析器和序列化器的。它只不過與javascript有相似的語法而已。

    json語法

    json的語法是可以表示爲三種類型的值:

1.簡單值:簡單值中與javascript中的有相同的語法,我們可以在json中表示字符串,布爾值,數值,以及null。但是有一點需要注意的是:json是不支持javascript中的undefined的。

2.對象:對象是作爲一種複雜的數據類型,表示的是一組無序的鍵值對。而每個鍵值對的值都可以是簡單值或者複雜的數據類型。

3.數組:數組也是一種複雜的數據類型,它表示一組有序的值的列表,可以通過數值索引來訪問其中的值。數組的值也可以是任意類型--簡單值,對象或者數組。

    json它僅僅是一種數據格式,所以它是不支持變量,函數或對象實例,它就是一種表示結構化數據的格式。


  簡單值

    最簡單的json數據形式就是簡單值了。

簡單值這個大家都應該清楚的,包括字符串,數值,布爾值,null。需要注意的是,json字符串是必須使用雙引號,單引號會導致錯誤的。


  對象

json中的對象與javascript字面量稍微有些不同,我們來舉個例子:

var person={

name:"ben",

age:29

};

這個是在javascript中創建的對象字面量的標準方式,但是json中的對象要求給屬性加引號。雖然在javascript中我們也可以給屬性添加雙引號,這也是沒有錯誤的。下面我們來舉個關於json中的例子:

{

“name”:'Ben",

"age":29

}

這個例子可以與上述的例子進行比較,有兩個不一樣的地方,首先json是沒有聲明變量,因爲json是不支持變量的;第二個是json末尾是沒有分號的,因爲這個不是javascript語句,所以是不需要分號的。而且還有的是屬性一定要加雙引號,無論在什麼時候,都是必須的。


 數組

    json中第二種複雜的數據類型,json數組採用的是javascript中的數組的字面量形式。

例如以下是數組在javascript中數據的字面量:

var values=[25,"hi",true];

而在json中,我們可以採用同樣的語法表示聽一個數組的:

[25,"hi",true]    當然我們也是要注意的是json數組也是沒有變量和分號的。

通常來說,對象和數組常常是json數據結構的最外層的形式,利用他們我們可以創造出更多更復雜的數據結構。

發佈了76 篇原創文章 · 獲贊 16 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章