JSON 對比 XML
JSON 和 XML 都可以用於從 Web 伺服器接收資料。
以下 JSON 和 XML 示例都定義了一個 employees 物件,其中包含一個 3 個員工的陣列。
JSON 示例
{"employees":[
{ "firstName":"John", "lastName":"Doe" },
{ "firstName":"Anna", "lastName":"Smith" },
{ "firstName":"Peter", "lastName":"Jones" }
]}
XML 示例
<employees>
<employee>
<firstName>John</firstName> <lastName>Doe</lastName>
</employee>
<employee>
<firstName>Anna</firstName> <lastName>Smith</lastName>
</employee>
<employee>
<firstName>Peter</firstName> <lastName>Jones</lastName>
</employee>
</employees>
JSON 類似於 XML,因為
- JSON 和 XML 都“自我描述”(人類可讀)
- JSON 和 XML 都是分層的(值中包含值)
- JSON 和 XML 都可以被許多程式語言解析和使用
- JSON 和 XML 都可以透過 XMLHttpRequest 獲取
JSON 不同於 XML,因為
- JSON 不使用結束標籤
- JSON 更短
- JSON 讀寫更快
- JSON 可以使用陣列
最大的區別在於
XML 必須使用 XML 解析器進行解析。JSON 可以透過標準的 JavaScript 函式進行解析。
為什麼 JSON 優於 XML
XML 比 JSON 更難解析。
JSON 解析後會成為一個隨時可用的 JavaScript 物件。
對於 AJAX 應用程式,JSON 比 XML 更快、更容易
使用 XML
- 獲取 XML 文件
- 使用 XML DOM 遍歷文件
- 提取值並存儲到變數中
使用 JSON
- 獲取 JSON 字串
- JSON.Parse JSON 字串