一、JSON簡(jiǎn)介
JSON 是一種資料格式,可用來(lái)做為資料溝通或儲(chǔ)存,以文字方式儲(chǔ)存,所以也容易閱讀,視用途也可使用不同編碼格式,常用的編碼格式: ANSI, UTF-8, UTF-16等
二、JSON型態(tài)
JSON資料有以下6種型態(tài)
Number(數(shù)字)
Boolean(布林值)
String(字串)
Array(陣列)
Object(物件)
Null(空值)
三、各型態(tài)介紹
Number(數(shù)字):
可以為整數(shù)或浮點(diǎn)數(shù)(小數(shù))舉例: 12345, 20.58, 44.294
Boolean(布林值):
即true或false舉例: true, false
String(字串):
一串文字,用雙引號(hào)(")包圍,可以使用跳脫字元(\n, \", \t)舉例: "abc", "中文", "換\n行"
Array(陣列):
一連串資料,跟大部分程式語(yǔ)言不一樣的是可以接受不同型態(tài)的資料,用中括弧([, ])包圍,用逗號(hào)(,)區(qū)分各資料舉例: [1, 2, 3], ["xyz", 5.2, true, 7]
Object(物件):
可命名的資料型態(tài)(key-value),和Array(陣列)不同的不只可命名,還有因?yàn)槠鋬?chǔ)存方式而無(wú)法排序,名稱只能為字串,且可重複,在部分程式語(yǔ)言的JSON解析器可能無(wú)法重複使用相同名稱,用大括弧({, })包圍,用冒號(hào)(:)分隔名稱(鍵)與資料(值),用逗號(hào)(,)區(qū)分各資料舉例: {"abc": "xyz", "number": 123789, "boolean": true}
Null(空值):
就是空值,就是沒(méi)東西舉例: null
備註: 以上資料型態(tài)皆可互相搭配交錯(cuò)使用
四、正確及錯(cuò)誤例子
合法:
"這是一個(gè)JSON字串,使用雙引號(hào)(\")包圍" |
{ "這是名字": "這是資料", "hi": 123, "備註": "只要格式正確,有沒(méi)有換行沒(méi)差" } |
null |
不合法:
"key": "value" |
應(yīng)改為:
{"key", "value"} |
234, array |
陣列應(yīng)使用中括號(hào)([, ])包圍,且字串要用雙引號(hào)(")包圍
應(yīng)改為:
[234, "array"] |
五、進(jìn)階
因?yàn)樗行蛻B(tài)能交錯(cuò)使用,所以可以的很複雜,雖然不建議包很多層(文字背景顏色表示成對(duì)的括號(hào))
{
"1": {
"2": [
"3",
{
"4": 5.6,
"7": 8
}
],
"9": 10,
"11": 12.13
},
"14": [15, 16.17, "18"],
"19": null,
"20": []
}