2009-01-26 11 views
8

Recientemente, muchos programadores y eso me incluye, han sacado la X de AJAX, y por defecto usan JSON como formato de protocolo. Sin embargo, estoy tratando de pensar en algunos lugares donde XML sería más apropiado como formato de protocolo, que no incluye SOAP (porque SOAP podría hacerse teóricamente con JSON).¿Cuándo usaría XML sobre JSON para Ajax?

Nota: me encanta XML para muchos otros fines, por lo que no se trata de XML vs JSON en general, me preocupa en particular el protocolo de transmisión de AJAX.

+0

http://stackoverflow.com/questions/325085/when-to-prefer-json-over-xml – mmcdole

+0

Es similar pero no un duplicado. –

+0

@Simucal Estoy de acuerdo contigo acerca de cerrar esto (aunque es mi propia pregunta), sin embargo, el punto aquí es mirar hacia el otro lado, el lado menos visto de la moneda, en mi humilde opinión. –

Respuesta

15

Esta pregunta es muy similar a When to prefer JSON over XML?

De todos modos, estoy de acuerdo con la parte superior votado en respuesta allí:

utilizo JSON a menos que esté obligado a utilizar XML. Es más fácil de entender y (debido a que requiere menos sobrecarga de configuración) más fácil de programar para leer y escribir si las bibliotecas están disponibles en su contexto, y ahora son bastante omnipresentes.

Cuando Amazon expuso por primera vez sus catálogos como un servicio web, ofrecieron tanto JSON como XML. Algo así como el 90% de los implementadores eligieron JSON.

En la otra cara de las cosas, XML es bueno para situaciones en las que ...

  • Usted necesita validación de mensajes
  • Estás usando XSLT
  • Los mensajes incluyen una gran cantidad de texto marcado
  • Necesita interoperar con entornos que no son compatibles con JSON
  • Necesita atributos o espacios de nombres

Esto también se toma de la pregunta anterior, que esencialmente es pedir lo contrario.

2

Ajaxian escribió sobre este mismo tema - JSON vs. XML: The Debate

Adicionalmente, y no estoy seguro de la importancia, pero algunos casos podría requerir atributos en las etiquetas, y se puede atributos no es realmente lugar el JSON-entradas . Sin embargo, podría estar muy lejos, JSON/XML no son mis áreas más fuertes.

+0

No te voté, pero creo que estás dando un ejemplo "obvio" a favor de JSON. Cuando esta pregunta es sobre cosas a favor de XML? –

+0

@Robert - tienes razón. He modificado para publicar para ser más apropiado. – Sampson

0

Para mí, creo que el mayor inconveniente de usar XML en AJAX es el hecho de que generalmente tendrá que analizarlo y convertirlo de alguna manera, mientras que no tendrá que hacer lo mismo con JSON porque el formato es nativo de JavaScript. Cuando agregas el mayor costo de transmisión al análisis sintáctico y la conversión, honestamente no puedo pensar en una buena razón para usar XML sobre JSON para AJAX, aunque ciertamente uso XML para muchas otras cosas.

+0

¿Eh? var doc = req.responseXML. Luego use las funciones DOM en el documento. – Zach

+0

JSON no es nativo de javascript; igual tendría que analizarlo. Parece que no era necesario porque el navegador lo hacía automáticamente si lo cargaba en una etiqueta

4
Cuestiones relacionadas