JSON vs XML

JSON 和 XML 均可用于从 web 服务器接收数据。

下面的 JSON 和 XML 实例都定义了雇员对象,包含了由 3 个雇员构成的数组:

JSON 实例

  1. {"employees":[
  2. { "firstName":"Bill", "lastName":"Gates" },
  3. { "firstName":"Steve", "lastName":"Jobs" },
  4. { "firstName":"Elon", "lastName":"Musk" }
  5. ]}

XML 实例

  1. <employees>
  2. <employee>
  3. <firstName>Bill</firstName>
  4. <lastName>Gates</lastName>
  5. </employee>
  6. <employee>
  7. <firstName>Steve</firstName>
  8. <lastName>Jobs</lastName>
  9. </employee>
  10. <employee>
  11. <firstName>Elon</firstName>
  12. <lastName>Musk</lastName>
  13. </employee>
  14. </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 字符串