3分鐘開始用JSON

JSON 數據格式解析 

和 XML 一樣,JSON 也是基於純文本的數據格式。由於 JSON 天生是爲 JavaScript 準備的,因此,JSON 的數據格式非常簡單,您可以用 JSON 傳輸一個簡單的 String,Number,Boolean,也可以傳輸一個數組,或者一個複雜的 Object 對象。 

String,Number 和 Boolean 用 JSON 表示非常簡單。例如,用 JSON 表示一個簡單的 String “ abc ”,其格式爲:

"abc"

除了字符 "\/ 和一些控制符(\b\f\n\r\t)需要編碼外,其他 Unicode 字符可以直接輸出。下圖是一個 String 的完整表示結構:

圖 1. String 的完整表示結構 
圖 1. String 的完整表示結構

一個 Number 可以根據整型或浮點數表示如下:

圖 2. Number 的表示結構 
圖 2. Number 的表示結構

這與絕大多數編程語言的表示方法一致,例如:

12345(整數)
 -3.9e10(浮點數)

Boolean 類型表示爲 true 或 false 。此外,JavaScript 中的 null 被表示爲 null,注意,truefalse 和 null 都沒有雙引號,否則將被視爲一個 String 。 

JSON 還可以表示一個數組對象,使用 [] 包含所有元素,每個元素用逗號分隔,元素可以是任意的 Value,例如,以下數組包含了一個 String,Number,Boolean 和一個 null:

["abc",12345,false,null]

Object 對象在 JSON 中是用 {} 包含一系列無序的 Key-Value 鍵值對錶示的,實際上此處的 Object 相當於 Java 中的 Map<String, Object>,而不是 Java 的 Class 。注意 Key 只能用 String 表示。 

例如,一個 Address 對象包含如下 Key-Value:

city:Beijing 
 street:Chaoyang Road 
 postcode:100025(整數)

用 JSON 表示如下:

{"city":"Beijing","street":" Chaoyang Road ","postcode":100025}

其中 Value 也可以是另一個 Object 或者數組,因此,複雜的 Object 可以嵌套表示,例如,一個 Person 對象包含 name 和 address 對象,可以表示如下:

{"name":"Michael","address":
    {"city":"Beijing","street":" Chaoyang Road ","postcode":100025}
}


另外,iOS自帶了json解析類,還有很多開源庫,自行爬頁找~


會用了吧!?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章