¿Tiene miré en ejemplos de documentos JSON y XML?
Mientras que JSON y XML se usan para representar árboles arbitrarios de datos, XML es mucho más detallado. Todos los elementos del árbol tienen un nombre (el nombre del tipo de elemento) y el elemento debe estar encerrado en un par de etiquetas coincidentes. Por el contrario, JSON expresa árboles en un tipo de anotación "anidada" similar a la de Javascript (de hecho, un documento JSON puede analizarse literalmente como Javascript para dar como resultado la matriz correspondiente).
Echa un vistazo a at the differences.
XML es, por supuesto semánticamente más rica, ya que los elementos pueden ser decorados con un número arbitrario de atributos , y los elementos puede contener contenido mixto de flujo de texto libre y, además, elementos anidados. Por ejemplo, el siguiente fragmento sería tedioso para expresar como JSON:
<paragraph>
This is an entire paragraph of <emph>text</emph>. It is interspersed with
further, nested <emph>XML elements</emph>, as well as the occasional
<link href="http://stackoverflow.com/a/12346394/596781">hyperlink</link>.
</paragraph>
Por otro lado, los datos -como los documentos pueden ser mucho más simple en JSON. Imagine esto:
<properties>
<property type="int" name="ID">123</property>
<property type="date" name="birthday">19700101</property>
<references>
<url>http://stackoverflow.com/a/12346394/596781</url>
<doi>something.made.up</doi>
</references>
</properties>
Esto se convierte en una matriz JSON muy compacta.
Una consideración secundaria es la cantidad de conjuntos de herramientas que rodean ambos formatos. Mientras que las herramientas JSON tratan principalmente sobre el análisis de datos JSON, el W3C ha desarrollado un gran conjunto de tecnologías adherentes para manipular XML de forma sistemática, como XSLT y XPATH.
En pocas palabras, y como una opinión muy personal, diría que XML es sobre el documento y JSON es sobre datos. XML se sentirá más natural y útil para documentos grandes y estructurados, mientras que JSON suele ser el formato más simple y menos detallado para la transmisión de conjuntos de datos.
Una respuesta completa considera las tres respuestas principales que recibió. Si está tratando de elegir entre XML y JSON, sería bueno que se pregunte para qué sirve. Si desea serialización compacta para transmisión o almacenamiento masivo, JSON es la opción. Si desea realizar la administración de documentos, XML es, como señala Kerrek, mejor respaldado por las tecnologías adherentes. Si usa el framework .NET esto es menos importante porque LINQ puede consultar/transformar prácticamente cualquier cosa. –
@PeterWone: No hay nada como "las tres mejores respuestas" en StackOverflow, porque el orden varía en el tiempo según los votos emitidos. Para referirse a respuestas específicas, por favor nombre al autor o dele el enlace permanente. Específicamente, en el momento de escribir estas líneas, tenemos una respuesta con 21 votos y tres respuestas con 5 votos cada una. Entonces, ¿cuáles son los "tres primeros"? :) – KPM
@KPM - sí, y eso es exactamente lo que quise decir: las tres respuestas más importantes en el momento del comentario. * Nombré * a uno de los autores, y mi comentario fue capaz de sostenerse por sí mismo; Menciono esas respuestas simplemente como una cortesía para los autores. De todos modos, aquí estamos años más tarde y siguen siendo las tres respuestas principales, así como las tres respuestas principales. –