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