JSON定義
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,易於閱讀和編寫,同時也易於機器解析和生成。它基於ECMA262語言規範(1999-12第三版)中JavaScript程式語言的一個子集。 JSON採用與程式語言無關的文本格式,但是也使用了類c語言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的習慣,這些特性使JSON成為理想的數據交換格式。
JSON的結構基於下面兩點1. "名稱/值"對的集合 不同語言中,它被理解為對象(object),記錄(record),結構(struct),字典(dictionary),哈希表(hash table),鍵列表(keyed list)等
2. 值的有序列表 多數語言中被理解為數組(array)
JSON使用:
JSON以一種特定的字元串形式來表示 JavaScript 對象。如果將具有這樣一種形式的字元串賦給任意一個 JavaScript 變數,那么該變數會變成一個對象引用,而這個對象就是字元串所構建出來的,好像有點拗口,我們還是用實例來說明。
現在讀者應該對JSON的使用有點認識了,歸納為以下幾點:
對象是屬性、值對的集合。一個對象的開始於“{”,結束於“}”。每一個屬性名和值間用“:”提示,屬性間用“,”分隔。
數組是有順序的值的集合。一個數組開始於"[",結束於"]",值之間用","分隔。
值可以是引號里的字元串、數字、true、false、null,也可以是對象或數組。這些結構都能嵌套。
字元串和數字的定義和C或Java基本一致。
小節:
本文通過一個實例演示,初步了解了JSON 的強大用途。可以歸結如下:
JSON 提供了一種優秀的面向對象的方法,以便將元數據快取到客戶機上。
JSON 幫助分離了驗證數據和邏輯。
JSON 幫助為 Web 應用程式提供了 Ajax 的本質。
JSON 相對於 XML
josn的數據組織結構{key:value,key1:value1,...n}
xml
<root>
<key>value</key>
<key1>value1</key1>
<key2>value2</key2>
</root>
兩種組織結構 以肉眼觀看 XML的組織形式很容易看到對應的數值。但是當使用javascript解析XML的時候需要層層解析,對於計算所要使用的數據,不能快捷獲取。這種組織形式在數據交換的時候很顯然是不如json的
現在流行的網頁異步數據交換技術--Ajax,開始的時候就是採用的 XML數據格式的交換。但隨著JSON的出現越來越多的程式設計師接受了這種新的數據交換格式,數據組織形式。
JSON這種數據格式已經在小數據交換領域就領先了。