在平常的系統開發過程當中,咱們會被架構師要求使用這樣或那樣的技術,在入行最初階段咱們會由於項目進展壓力,無暇思考使用該技術的緣由,而是一門心思的學習上手使用該技術,我也不例外的在這羣人裏面。如今手上已經沒有正在進行的項目了,有了一塊相對寬鬆的時間,能夠好好想一想咱們爲何要使用這些技術了。今天先來講說JSON。數組
JSON的英文全稱是JavaScript Object Notation,是JavaScript的一個子集,從名字中咱們也能夠體會到是讓JavaScript具備了面向對象的能力,把咱們使用原生JavaScript得到的屬性值,組合造成了對象。對於咱們開發普通的Web應用來講,不管是服務器端仍是客戶端解析XML文件或生成XML文件,相關的代碼會相對複雜,不利於提升開發效率。因此這時咱們可使用JSON來代替XML。服務器
下面使用代碼來對比一下XML和JSON的不一樣架構
使用XML來表示書籍的集合ide
<books> <book title ="Frankenstein" author="Mary Shelly"/> <book title ="1986" author="George Orwell"/> <book title ="The Sun Also Rises" author="Ernest Hemingway"/> <book title ="Pride and Prejudice" author="Jane Austen"/> </books>
使用JSON來表示書籍的集合學習
{ "books":[ {"title":"Frankenstein","author":"Mary Shelly"}, {"title":"1986","author":"George Orwell"}, {"title":"The Sun Also Rises","author":"Ernest Hemingway"}, {"title":"Pride and Predudice","author":"Jane Austen"} ]}
JSON的基本結構是使用「{}」來包住對象,該對象包含鍵和值以冒號分隔,鍵值對之間以逗號分界,字符串要被包在雙引號("")中,而且對象的鍵名字始終都是一個字符串,屬性值可使任何JSON支持的數據類型,包括字符串、其餘對象類型、數字以及布爾類型(true或者false)、一個指定的空值和數組。JSON的數組被「[]」包住,數組元素的類型能夠是任何JSON數據類型(包括對象和數組),數組元素之間以「,」進行分隔。spa