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 字符串