Durante un buen tiempo, XML ha sido la única opción para compartir datos libremente. No había otros formatos abiertos disponibles y XML fue considerado como la solución para todos los problemas de intercambio de datos. Este único formato podía manejar datos clásicos como números y texto, pero también podía manejar documentos, formatos, imágenes, audio, vídeo, y mucho más. Ahora que otras opciones están disponibles, XML puede ser una exageración en muchos casos. Hoy, nos enfrentamos a menudo con la opción entre JSON y XML al crear ficheros de datos. Si está aprendiendo a ser un desarrollador web, debería aprender más sobre ambos. Aquí tiene algunas diferencias para ayudarle a estar informado en su decisión:
Simplicidad, Apertura e Interoperabilidad
En términos de simplicidad, apertura e interoperabilidad, JSON y XML están empatados. Por supuesto, encontrará a gente en ambos lados argumentando a favor de su favorito. Sin embargo, cuando se deshace de sus opiniones y profundiza más en los hechos, no hay mucha diferencia en términos de simplicidad, apertura e interoperabilidad.
Datos Auto-Descritos e Internacionalización
Otro aspecto común que comparte JSON y XML es la implementación de datos auto-descritos e internacionalización. Ambos de estos estándares utilizan el estándar Unicode y ambos crean datos de forma que permiten a herramientas genéricas manipular los datos. Esto hace que estos formatos sean muy fáciles de distribuir a un amplio abanico de usuarios.
Extensibilidad
Con JSON, está limitado a almacenar sólo datos clásicos como texto y números. Sin embargo, XML le permite almacenar cualquier tipo de datos que se le pueda ocurrir. La capacidad para extender los atributos de los datos almacenados en los ficheros XMS es lo que le permite ser más flexible que JSON. Sin embargo, también lo hace más difícil de leer. Esto hace a XML más extensible, pero puede que no sea algo bueno. Esto depende del tipo de la información que trata de transferir. Los documentos requieren extensibilidad para gestionar imágenes, tablas, gráficos, y otros elementos de formato. Sin embargo, los datos clásicos no requieren esta extensibilidad y pueden beneficiarse de la simplicidad de JSON.
Legible para el Hombre
Ambos ficheros XML y JSON son legibles para el ser humano. Al menos, son entendibles para los programadores que trabajan con estos formatos de ficheros. Sin embargo, los ficheros JSON son más restrictivos y por lo tanto ligeramente más legibles. Esto se debe a que el número de formatos de datos permitidos por JSON es mucho menor que XML. Además, la estructura de los datos está más estandarizada con los ficheros JSON debido al hecho de que existen menos opciones cuando se compara con el formato XML.
Integración Completa con Todos los Formatos
Con XML es posible adjuntar cualquier fichero de cualquier formato. Por otro lado JSON sólo soporta formatos de datos tradicionales. Esto significa que es posible incluir fotos, audio, vídeo, y otros ficheros dentro de un fichero XML. Mientras que esto puede parecer algo bueno al principio, también puede ser peligroso. Eso es porque podría incluir un fichero ejecutable que podría tener peligrosas consecuencias para la seguridad. La simplicidad de las estructuras de datos que JSON soporta hace imposible los ataques usando este formato.
Compartir Datos Tradicionales
JSON es la mejor herramienta para compartir datos. Esto es porque los datos están almacenados en vectores y registros mientras que XML almacena los datos en árboles. Ambos tienen sus ventajas, pero las transferencias de datos son mucho más fáciles cuando los datos se almacenan en una estructura que está familiarizada a los lenguajes orientados a objetos. Esto hace que sea muy sencillo importar datos desde un fichero JSON a Perl, Ruby, Javascript, Python, y otros muchos lenguajes. Para hacer lo mismo con XML, necesitaría primero transformar los datos antes de que puedan ser importados. Por este motivo, JSON es un formato de fichero superior para las APIs web.
Compartir Documentos
Cuando quiere compartir documentos, XML es la herramienta adecuada para ello. Esto se debe a que permite incluir tipos de datos como imágenes, tablas, y gráficos. Además, XML ofrece opciones para transferir la estructura, o formato, de los datos junto con los verdaderos datos. JSON sólo ofrece opciones para la transferencia de los datos sin formato, y sólo utiliza formatos de datos tradicionales. Esto hace a XML el formato superior para documentos.
Fuente Original del articulo: Kasia Mikoluk