Comparador JSON
Compara dos documentos JSON y muestra cada valor añadido, eliminado y modificado.
Original (izquierda)
Modificado (derecha)
Diferencias
Escribe JSON en ambos lados para compararlos.
¿Qué es Comparador JSON?
El Comparador JSON es una herramienta de diff estructural que toma dos documentos JSON e informa exactamente qué valores se añadieron, eliminaron o modificaron, cada uno identificado por su ruta (por ejemplo items[2].name). Parsea ambas entradas y compara los valores resultantes, de modo que los espacios en blanco y el orden de las claves se ignoran y solo afloran las diferencias reales en claves y valores. Los arrays se comparan posicionalmente por índice, lo que significa que insertar un elemento en medio muestra todos los elementos posteriores como modificados en lugar de una única inserción. Cuando la forma de un valor genuinamente no se puede comparar pieza a pieza — un objeto frente a un array en la misma ruta, o dos documentos que son primitivas sueltas en lugar de objetos — toda la ruta se informa como una única entrada "modificada" en lugar de un diff parcial, y una diferencia entre dos documentos enraizados en primitivas puras aparece bajo la ruta especial `(root)`. Se ejecuta por completo en tu navegador, así que nada de lo que pegues se transmite a ninguna parte.
Cómo usar Comparador JSON
- Pega el JSON original en el cuadro de la izquierda y el JSON modificado en el de la derecha.
- La lista de diferencias se actualiza al instante, mostrando cada valor añadido, eliminado y modificado con su ruta.
- Las claves de los objetos se comparan sin importar el orden — solo se informan las diferencias reales de valor.
- Los elementos de los arrays se comparan por índice; los elementos sobrantes al final de cualquiera de los dos lados aparecen como añadidos o eliminados.
Ejemplos
Valor modificado
Entrada
Left: {"a":1} Right: {"a":2}
Salida
a: modificado 1 → 2
Clave añadida
Entrada
Left: {"a":1} Right: {"a":1,"b":2}
Salida
b: añadido (2)
Ruta anidada
Entrada
Left: {"user":{"name":"Ada"}} Right: {"user":{"name":"Grace"}}
Salida
user.name: modificado "Ada" → "Grace"
Errores comunes
- Asumir que esto hace un diff "inteligente" basado en líneas como un diff de texto/git — es un diff estructural de JSON, así que reordenar elementos de un array aparece como cambios aunque sigan presentes los mismos valores.
- Comparar JSON minificado contra JSON formateado esperando que el espaciado importe — solo se comparan los valores parseados, no el formato.
- Olvidar que JSON no tiene "undefined" — una clave que falta de verdad aparece como añadida/eliminada, mientras que una clave con valor null explícito es un valor real y aparecerá como modificada si el otro lado difiere.
Por qué usar esta herramienta
- La salida de diff basada en rutas te dice exactamente dónde está una diferencia, no solo que los documentos difieren.
- Ignora el orden de las claves y se centra solo en las diferencias reales de estructura y valor.
- Mensajes de error claros y separados cuando cualquiera de los dos lados falla al parsear, en lugar de un único fallo genérico.
- Se ejecuta por completo en el cliente — nada de lo que pegues se envía a ninguna parte.