JSON vs XML

JSON 和 XML 均可用于從 web 服務器接收數據。

下面的 JSON 和 XML 實例都定義了雇員對象,包含了由 3 個雇員構成的數組:

JSON 實例

{"employees":[
    { "firstName":"Bill", "lastName":"Gates" },
    { "firstName":"Steve", "lastName":"Jobs" },
    { "firstName":"Elon", "lastName":"Musk" }
]}

XML 實例

<employees>
    <employee>
         <firstName>Bill</firstName>
         <lastName>Gates</lastName>
     </employee>
     <employee>
         <firstName>Steve</firstName>
         <lastName>Jobs</lastName>
     </employee>
     <employee>
         <firstName>Elon</firstName>
         <lastName>Musk</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 字符串