¿Cuál es la diferencia entre XML y JSON?
En qué se diferencian los dos formatos de datos y qué cambia al convertir
Un sistema le pide un archivo XML y usted solo tiene una exportación .json sacada de una aplicación. O al revés: su contador le mandó una factura electrónica en XML y el programa donde quiere cargarla espera JSON. Este artículo responde la única pregunta que importa en ese momento: qué separa exactamente a los dos formatos y qué parte de esa diferencia afecta a su tarea.
La respuesta corta: ambos llevan datos como texto plano y pueden contener la misma información. Se diferencian en cómo se marcan los datos y en cuál de los dos sabe leer el programa del otro lado. Es decir, casi nunca elige usted; elige el sistema que recibe el archivo. Lo que le toca es reconocer qué tiene entre manos y saber qué cambia al convertirlo.
Un mismo registro en dos formatos: vea la diferencia
La forma más rápida de entender la diferencia es poner la misma información una al lado de la otra. En el esquema de abajo, el número de un pedido, el cliente y el importe están escritos a mano, primero en XML y luego en JSON. El contenido es idéntico; solo cambia el envoltorio.
En XML cada valor va dentro de una etiqueta: se abre con <cliente> y se cierra con </cliente>. Como cada nombre se escribe dos veces, el mismo registro ocupa más en XML. En JSON el nombre aparece una sola vez, seguido de dos puntos y del valor, y las llaves marcan dónde empieza y termina el registro. El recuento de caracteres bajo el esquema pone cifra a esa diferencia.
Fíjese también en el importe: en ambos formatos se escribe 249.90 con punto, aunque su hoja de cálculo muestre 249,90. Los formatos de datos usan el punto como separador decimal, sin importar el idioma del equipo.
¿Qué formato tiene su archivo? Mire el primer carácter
La extensión no siempre dice la verdad. Algunos programas entregan XML con el nombre .txt o .dat, y algunos servicios descargan JSON sin extensión alguna. La prueba segura es mirar dentro, y no hace falta ningún programa especial. Abra el Bloc de notas (TextEdit en Mac) y elija el archivo desde el menú Archivo > Abrir del propio programa. En Windows, cambie abajo a la derecha de esa ventana el tipo a «Todos los archivos»; si no, un archivo que no termina en .txt ni siquiera aparece en la lista. En el texto que se abre, pase por alto los espacios y mire el primer signo visible:
- Si es <, y sobre todo si el archivo empieza por <?xml: es XML
- Si es { o [: es JSON
- Si las líneas son texto simple separado por punto y coma o por comas, no es ninguno de los dos; lo más probable es que sea un CSV
- Si solo ve símbolos ilegibles, el archivo no es texto (por ejemplo, un paquete comprimido) y no se trata de ninguno de los dos formatos
Las diferencias en una sola tabla
Esto es lo que el esquema significa en la práctica. Preste especial atención a la tercera fila: es la diferencia que más sorprende al convertir y vuelve a aparecer en las secciones siguientes.
| Tema | XML | JSON |
|---|---|---|
| Escritura | Etiquetas de apertura y cierre: <nombre>…</nombre> | Llaves y pares "nombre": valor |
| Datos adicionales | Pueden ir pegados a la propia etiqueta: <pedido num="1042"> | No hay tal lugar; cada dato es un campo propio |
| Número o texto | En el archivo todo valor es texto; el tipo lo indica un archivo de esquema aparte | Números sin comillas, texto con comillas; true, false y null son tipos propios |
| Listas | La misma etiqueta repetida una tras otra | Elementos entre corchetes: [ … ] |
| Comentarios | Se pueden escribir entre <!-- y --> | No están previstos |
| Capa exterior | Debe haber una sola etiqueta exterior | No existe esa regla |
| Extensión | Más largo, porque los nombres se repiten | Más corto para los mismos datos |
¿Por qué un sistema pide XML y otro JSON?
El formato lo decide el programa que va a leer el archivo: espera aquel con el que fue construido. XML es el más antiguo, y buena parte del intercambio de documentos oficiales, del software contable y de las conexiones entre empresas descansa sobre él. En México, por ejemplo, la factura electrónica (CFDI) es un archivo XML, y el PDF que suele acompañarla es solo su representación impresa; por eso una factura llega tan a menudo como .xml.
JSON, en cambio, se convirtió en el idioma común de los servicios web y las aplicaciones móviles. Cuando pulsa «descargar mis datos» en una aplicación, o cuando dos programas conversan detrás de un sitio web, lo que viaja suele ser JSON. Los canales RSS de los sitios de noticias y los mapas del sitio que las webs entregan a los buscadores (sitemap.xml) siguen siendo XML.
En la práctica, la pregunta «¿cuál es mejor?» rara vez le importa a usted. Si la otra parte espera XML, hasta un JSON impecable será rechazado. Cuando su formato no coincide con el que piden, toca convertir; si la elección es realmente suya, mire el archivo de ejemplo en la ayuda del programa que lo recibirá y quédese con ese formato.
¿Qué cambia al convertir? ¿Se pierde algo?
Los dos formatos llevan la misma información, pero no en el mismo molde; por eso convertir es adaptar, no copiar. Los convertidores de este sitio adaptan sus datos así, y no lo ocultan:
- De XML a JSON: los datos pegados a una etiqueta se conservan como un campo cuyo nombre empieza por @. El número de <pedido num="1042"> aparece en JSON como "@num": "1042"
- De XML a JSON: todos los valores llegan como texto entre comillas. XML no distingue en el archivo entre número y texto, así que 249.90 se convierte en "249.90"; el programa que haga las cuentas tendrá que volver a pasarlo a número
- De XML a JSON: los comentarios entre <!-- --> y la línea <?xml ?> del principio no se trasladan, porque JSON no tiene dónde ponerlos
- De JSON a XML: no se generan datos pegados a las etiquetas; cada clave pasa a ser un elemento propio, y si el sistema destino espera el número en la etiqueta misma, tendrá que retocar el resultado a mano
- De JSON a XML: desaparece la distinción entre número y texto; ambos quedan como texto simple dentro de una etiqueta
No convierta un documento oficial para reenviarlo
Esas adaptaciones tienen una consecuencia: si convierte un archivo de XML a JSON y otra vez a XML, no recupera el documento original carácter por carácter. Los nombres de los elementos, el orden y el lugar de los datos adicionales pueden moverse. Para datos cotidianos no importa; para un documento oficial, sí.
En los documentos con firma o sello digital, como una factura electrónica, la firma depende de cada carácter del archivo; basta con que cambie un espacio para que deje de validarse. La razón legítima para convertir un XML así es leerlo: ver los conceptos, pasar los importes a otra tabla. Guarde el original intacto, envíe el original si tiene que ir a algún sitio y quédese la copia convertida para su propio uso.
Antes de convertir, compruebe que el archivo está sano
Un convertidor solo funciona con un documento que respete sus propias reglas. En XML, una sola etiqueta sin cerrar o un valor sin comillas vuelve ilegible todo el archivo. Si su XML está apretado en una sola línea o un sistema responde «archivo no válido», péguelo primero en la herramienta «Formatear y validar XML»: el texto queda sangrado y, si hay un error, se le indica la línea y la columna. Para JSON hace el mismo trabajo el «Formateador y validador de JSON».
Esta comprobación tiene un límite que conviene conocer. Verifica que el documento esté bien escrito, no que contenga todos los campos que exige el sistema destino. Qué campos son obligatorios lo fija el archivo de esquema (XSD) que publica el organismo. «Bien formado» significa que el archivo se puede leer; no garantiza que vayan a aceptarlo.
Preguntas frecuentes
¿Qué es mejor, XML o JSON?
No hay un ganador general. El formato correcto es el que pide el sistema que recibe el archivo. Si la elección es solo suya y los datos van a circular entre aplicaciones o servicios web, JSON es más corto y más común; para el intercambio formal de documentos entre organismos, XML sigue siendo el estándar.
¿Se pierde información al convertir XML a JSON?
Los valores se mantienen; cambia su forma. Los datos pegados a las etiquetas pasan a campos que empiezan por @, y los números llegan como texto entre comillas. Lo único que se cae son los comentarios entre <!-- y -->, porque JSON no tiene lugar para ellos.
¿Cómo leo con comodidad una factura en XML?
Para ver los conceptos como tabla, la herramienta «Convertir XML a Excel (XLSX)» convierte los registros repetidos en filas y los campos en columnas. Para simplemente revisar el contenido, la herramienta «Formatear y validar XML» sangra el texto y lo vuelve legible. En ambos casos su archivo original no se modifica.
¿Puedo entregar mi archivo JSON a un sistema que pide XML?
Sí, después de convertirlo con la herramienta «Convertir JSON a XML». Antes de enviarlo, compárelo con el archivo de ejemplo del sistema: la etiqueta más exterior y el nombre de los elementos de lista deben coincidir con lo que espera. La herramienta le deja escribir usted mismo el nombre de la etiqueta exterior.
¿HTML y XML son lo mismo?
Se parecen, porque ambos usan etiquetas entre ángulos. Pero HTML tiene un conjunto fijo de etiquetas que describen cómo se ve una página en pantalla; en XML, quien prepara los datos elige el nombre de las etiquetas, y lo que importa es el dato en sí, no su aspecto.
Última actualización: 12 de octubre de 2026