JSON 語(yǔ)法
JSON 語(yǔ)法是 JavaScript 語(yǔ)法的子集。
JSON 語(yǔ)法規(guī)則
JSON 語(yǔ)法是 JavaScript 對(duì)象表示法語(yǔ)法的子集。
- 數(shù)據(jù)在名稱/值對(duì)中
- 數(shù)據(jù)由逗號(hào)分隔
- 花括號(hào)保存對(duì)象
- 方括號(hào)保存數(shù)組
JSON 名稱/值對(duì)
JSON 數(shù)據(jù)的書寫格式是:名稱/值對(duì)。
名稱/值對(duì)包括字段名稱(在雙引號(hào)中),后面寫一個(gè)冒號(hào),然后是值:
"firstName" : "John"
這很容易理解,等價(jià)于這條 JavaScript 語(yǔ)句:
firstName = "John"
JSON 值
JSON 值可以是:
- 數(shù)字(整數(shù)或浮點(diǎn)數(shù))
- 字符串(在雙引號(hào)中)
- 邏輯值(true 或 false)
- 數(shù)組(在方括號(hào)中)
- 對(duì)象(在花括號(hào)中)
- null
JSON 對(duì)象
JSON 對(duì)象在花括號(hào)中書寫:
對(duì)象可以包含多個(gè)名稱/值對(duì):
{ "firstName":"John" , "lastName":"Doe" }
這一點(diǎn)也容易理解,與這條 JavaScript 語(yǔ)句等價(jià):
firstName = "John" lastName = "Doe"
JSON 數(shù)組
JSON 數(shù)組在方括號(hào)中書寫:
數(shù)組可包含多個(gè)對(duì)象:
{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }
在上面的例子中,對(duì)象 "employees" 是包含三個(gè)對(duì)象的數(shù)組。每個(gè)對(duì)象代表一條關(guān)于某人(有姓和名)的記錄。
JSON 使用 JavaScript 語(yǔ)法
因?yàn)?JSON 使用 JavaScript 語(yǔ)法,所以無(wú)需額外的軟件就能處理 JavaScript 中的 JSON。
通過(guò) JavaScript,您可以創(chuàng)建一個(gè)對(duì)象數(shù)組,并像這樣進(jìn)行賦值:
例子
var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName": "Carter" } ];
可以像這樣訪問(wèn) JavaScript 對(duì)象數(shù)組中的第一項(xiàng):
employees[0].lastName;
返回的內(nèi)容是:
Gates
可以像這樣修改數(shù)據(jù):
employees[0].lastName = "Jobs";
在下面的章節(jié),您將學(xué)到如何把 JSON 文本轉(zhuǎn)換為 JavaScript 對(duì)象。
JSON 文件
- JSON 文件的文件類型是 ".json"
- JSON 文本的 MIME 類型是 "application/json"