Tanto JSON quanto XML podem ser usados para receber dados de um servidor web.
Os exemplos JSON e XML a seguir definem um objeto funcionários, com uma matriz de 3 funcionários:
{"employees":[
{ "firstName":"John", "lastName":"Doe" },
{ "firstName":"Anna", "lastName":"Smith" },
{ "firstName":"Peter", "lastName":"Jones" }
]}
<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>
Tanto JSON quanto XML são "autodescritivos" (legíveis por humanos)
Tanto JSON quanto XML são hierárquicos (valores dentro de valores)
Tanto JSON quanto XML podem ser analisados e usados por muitas linguagens de programação
JSON e XML podem ser obtidos com um XMLHttpRequest
JSON não usa tag final
JSON é mais curto
JSON é mais rápido de ler e escrever
JSON pode usar matrizes
A maior diferença é:
XML deve ser analisado com um analisador XML. JSON pode ser analisado por um função JavaScript padrão.
XML é muito mais difícil de analisar do que JSON.
JSON é analisado em um objeto JavaScript pronto para uso.
Para aplicativos AJAX, JSON é mais rápido e fácil que XML:
Usando XML
Buscar um documento XML
Use o XML DOM para percorrer o documento
Extraia valores e armazene em variáveis
Usando JSON
Buscar uma string JSON
JSON.Analisar a string JSON