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 é semelhante a XML porque:

  • JSON e XML são 'auto-descriptivos' (legíveis por humanos)
  • JSON e XML são hierárquicos (os valores contêm valores)
  • JSON e XML podem ser analisados e usados por uma vasta gama de linguagens de programação
  • JSON e XML podem ser lidos pelo XMLHttpRequest

As diferenças entre JSON e XML estão em:

  • JSON não usa tags
  • JSON é mais curto
  • A leitura e escrita de JSON é mais rápida
  • JSON pode usar arrays

A maior diferença está em:

XML deve ser analisado por um parser XML. Enquanto isso, JSON pode ser analisado por funções JavaScript padrão.

Por que JSON é melhor do que XML?

  • XML é mais difícil de analisar do que JSON.
  • JSON é analisado como objeto JavaScript para uso.

Para aplicações AJAX, JSON é mais rápido e fácil do que XML:

Usar XML

  • Ler Documento XML
  • Usar XML DOM para percorrer o documento
  • Extrair valor armazenado em variável

Usar JSON

  • Ler String JSON
  • JSON.Parse para String JSON