2499 元起,Hi nova 9 SE 5G 手機今天上午正式開售:120Hz 螢幕,一億畫素四攝系統,66W 快充
JSON學習筆記
Web學習筆記之——Json
什麼是JSON
JSON: JavaScript Object Notation(JavaScript 物件表示法)
JSON 是輕量級的文字資料交換格式 JSON 獨立於語言 * JSON 具有自我描述性,更易理解
JSON 使用 Javascript語法來描述資料物件,但是 JSON 仍然獨立於語言和平臺。JSON 解析器和 JSON 庫支援許多不同的程式語言。 目前非常多的動態(PHP,JSP,.NET)程式語言都支援JSON。
優點:
- JSON 是儲存和交換文字資訊的語法。類似 XML。
- JSON 比 XML 更小、更快,更易解析。
與 XML 相同之處
- JSON 是純文字
- JSON 具有”自我描述性”(人類可讀)
- JSON 具有層級結構(值中存在值)
- JSON 可通過 JavaScript進行解析
- JSON 資料可使用 AJAX 進行傳輸
與 XML 不同之處
- 沒有結束標籤
- 更短
- 讀寫的速度更快
- 能夠使用內建的 JavaScript eval() 方法進行解析
- 使用陣列
- 不使用保留字
為什麼使用 JSON?
對於 AJAX 應用程式來說,JSON 比 XML 更快更易使用:
使用 XML
- 讀取 XML 文件
- 使用 XML DOM 來迴圈遍歷文件
- 讀取值並存儲在變數中
使用 JSON
- 讀取 JSON 字串
- 用 eval() 處理 JSON 字串
JSON 例項
簡單例項
這個 sites 物件是包含 3 個站點記錄(物件)的陣列。
{
"sites": [
{ "name":"Derwer" , "url":"www.derwer.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"百度" , "url":"www.baidu.com" }
]
}
web例項
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JSON-Web例項</title> </head> <body> <h2>JavaScript 建立 JSON 物件</h2> <p> 網站名稱: <span id="jname"></span><br /> 網站地址: <span id="jurl"></span><br /> 網站標語: <span id="jslogan"></span><br /> </p> <script> var JSONObject= { "name":"Derwer", "url":"www.derwer.com", "slogan":"理想 哲思 白日夢!" }; document.getElementById("jname").innerHTML=JSONObject.name document.getElementById("jurl").innerHTML=JSONObject.url document.getElementById("jslogan").innerHTML=JSONObject.slogan </script> </body> </html>
JSON語法
JSON 語法是 JavaScript 語法的子集。
JSON 語法規則
JSON 語法是 JavaScript 物件表示法語法的子集。
- 資料在名稱/值對中
- 資料由逗號分隔
- 花括號儲存物件
- 方括號儲存陣列
JSON 名稱/值對
JSON 資料的書寫格式是:名稱/值對。 名稱/值對包括欄位名稱(在雙引號中),後面寫一個冒號,然後是值:
"UserId" : "Raphael"
這很容易理解,等價於這條 JavaScript 語句:
UserId = "Raphael"
JSON 值
JSON 值可以是:
- 數字(整數或浮點數)
- 字串(在雙引號中)
- 邏輯值(true 或 false)
- 陣列(在方括號中)
- 物件(在花括號中)
- null
JSON 物件
JSON 物件在花括號中書寫: 物件可以包含多個名稱/值對:
{ "WebName":"Derwer" , "url":"www.derwer.com" }
這一點也容易理解,與這條 JavaScript 語句等價:
WebName = "Derwer"
url = "www.derwer.com"
JSON 陣列
JSON 陣列在方括號中書寫: 陣列可包含多個物件:
{
"sites": [
{ "name":"Derwer" , "url":"www.derwer.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"百度" , "url":"www.baidu.com" }
]
}
上述例子中,物件 “sites” 是包含三個物件的陣列。每個物件代表一條站點(資訊)的記錄。
JSON 使用 JavaScript 語法
因為 JSON 使用 JavaScript 語法,所以無需額外的軟體就能處理 JavaScript 中的 JSON。 通過 JavaScript,您可以建立一個物件陣列,並像這樣進行賦值: 例項
var sites = [
{ "name":"Derwer" , "url":"www.derwer.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"百度" , "url":"www.baidu.com" }
];
可以像這樣訪問 JavaScript 物件陣列中的第一項(索引從 0 開始):
sites[0].name;
返回的內容是:
Derwer
可以像這樣修改資料: sites[0].name=”Derwer | 世界就在你眼前”;
JSON 檔案
JSON 檔案的檔案型別是 “.json” JSON 文字的 MIME 型別是 “application/json”