JSON vs XML

JSON para que dos programas se entiendan; XML donde haga falta imponer un esquema.

¿Cuándo JSON?

JSON para API, configuración y cualquier cosa que lea JavaScript.

¿Cuándo XML?

XML donde ya lo exige un sector entero —facturación, administración, edición— o donde un esquema tiene que validar de verdad.

Lo que casi siempre se pasa por alto

La conversión no es simétrica. XML distingue atributos y elementos, y JSON no tiene esa diferencia, así que la ida y la vuelta no devuelven el mismo archivo.

Pasar de JSON a XML

Qué se conserva

No se descarta nada. JSON y XML guardan su contenido sin pérdida, así que la conversión cambia el envoltorio y no la calidad, y puede repetirse sin que el daño se acumule.

Abrir el resultado

Visual Studio Code lee tanto JSON como XML, así que puedes comparar el resultado con el original sin un segundo programa.

Para qué sirve cada formato

JSON se publicó en 2001. Está recogido en RFC 8259, y conviene conocerlo si el archivo tiene que sobrevivir a la herramienta que lo escribió.

XML viene de W3C y es de 1998, recogido en XML 1.0. Visual Studio Code y oXygen XML Editor lo leen.

Pasar de XML a JSON

Qué se pierde

Los comentarios no sobreviven. XML permite anotar un archivo y JSON no tiene sintaxis para ello, así que cada línea explicativa se pierde — y afecta justo a los archivos que se comentan: configuración que otra persona tendrá que mantener.

Qué se conserva

No se descarta nada. XML y JSON guardan su contenido sin pérdida, así que la conversión cambia el envoltorio y no la calidad, y puede repetirse sin que el daño se acumule.

Abrir el resultado

Visual Studio Code lee tanto XML como JSON, así que puedes comparar el resultado con el original sin un segundo programa.

Para qué sirve cada formato

XML es el formato de W3C, publicado en 1998. Está recogido en XML 1.0, y conviene conocerlo si el archivo tiene que sobrevivir a la herramienta que lo escribió.

JSON es de 2001, recogido en RFC 8259. Visual Studio Code, jq y Postman lo leen.

Lado a lado

JSON y XML comparados fila a fila: qué guarda cada formato y qué cuesta.
JSONXML
Full nameJavaScript Object NotationExtensible Markup Language
Extensión.json.xml
Tipo de medioapplication/jsonapplication/xml
CompresiónSin comprimirSin comprimir
Esta página puede escribirlo

¿Ya lo tienes claro? Convierte aquí