JSON Data Format 資料格式

JSON 的語法啟發自 JavaScript Object literal,用來描述資料結構。

JSON 支援以下的資料格式:

  • 字串 (string)
  • 數值 (number)
  • 布林值 (boolean)
  • 空值 (null)
  • 物件 (object)
  • 陣列 (array)

JSON 字串 (String)

JSON 中的字串是用兩個雙引號 " 包住的文字。

例子:

"hello fooish.com"
{"name": "Mike"}

注意是雙引號,不能是單引號喔。

JSON 數值 (Number)

JSON 的數值可以是整數或浮點數。

例子:

600
55.66
-30
{"age": 25}

JSON 布林值 (Boolean)

布林值有兩個值分別是 truefalse

例子:

false
{"disable": true}

JSON 空值 (null)

null 值表示空值的意思。

例子:

null
{"middlename": null}

JSON 物件 (Object)

一個物件就是包含一系列鍵值對 (key-value pairs) 的存儲格式,一個物件以 { 開始,最後以 } 符號結束,每個 key-value pair 用逗號 , 分隔開,而 key 和 value 之間則是用冒號 : 分隔開。

物件 key-value pair 中的 key 必須是一個字串格式;而 value 則可以是任何 JSON 資料格式。

例子:

{
    "id": 1,
    "name": "A green door",
    "price": 12.50,
    "tags": ["home", "green"]
}
{"count": 101}

注意 key 只能是字串,也一定要加上雙引號喔,這是和 JavaScript object literal 的差異,JavaScript 中可省略引號。

JSON 陣列 (Array)

陣列是一個有序的序列,陣列中可以儲存不定數量的值。

一個陣列以 [ 開始,最後以 ] 符號結束,如果有多個值則用逗點 , 分隔開,陣列中的值可以是任何 JSON 資料格式。

例子:

["Stacey", "John", "Jimmy"]
[100]
{"tags": ["xmas", "green"]}

JSON 中的空白字元 (Whitespace)

JSON 中的空白字元,只要不是被包在字串的雙引號裡面,都會被自動忽略。

例如下面這兩個例子是一樣的意思:

{
    "tags": [ "xmas", "green" ]
}
{"tags":["xmas","green"]}