Compara dos objetos JSON y visualiza las diferencias al instante
Pega dos JSONs para comparar sus diferencias
También podrías necesitar
Comparar dos versiones de un JSON es una tarea cotidiana al trabajar con APIs en evolución, respuestas de servicios externos, configuraciones de infraestructura o migraciones de datos. Un simple `diff` de texto no es suficiente cuando el JSON está comprimido o cuando los objetos tienen el mismo contenido pero diferente orden de claves. Esta herramienta realiza una comparación estructural recursiva: recorre el árbol de objetos y arrays en profundidad, compara clave por clave y elemento por elemento, y reporta cada diferencia con su ruta exacta en notación JSONPath (ej. `$.user.address.city`). Cada entrada del diff está clasificada: added (verde, propiedad nueva en B), removed (rojo, propiedad eliminada en B), modified (amarillo, propiedad con valor distinto) o unchanged (gris). El resumen superior muestra los contadores por tipo para una visión rápida del impacto del cambio. El análisis ocurre completamente en el navegador — ningún dato se envía al servidor.
¿Cómo funciona la comparación de arrays?
Los arrays se comparan elemento por elemento por posición de índice. Si el array A tiene 3 elementos y el array B tiene 5, los primeros 3 se comparan en pares y los 2 adicionales de B se marcan como 'añadidos'. Esto funciona bien para arrays de configuración o respuestas de API con orden estable. Para arrays donde el orden puede variar, usa un identificador único (como id) para comparar manualmente.
¿Qué formato tiene la notación de path en los resultados?
Los paths usan notación JSONPath estándar: `$` representa la raíz del documento. Los objetos usan punto ($.user.name). Los arrays usan corchetes con índice ($.users[0].email). Esto te permite usar el mismo path en consultas JSONPath o en herramientas como jq para extraer exactamente el campo que cambió.
¿Puede manejar objetos con propiedades en distinto orden?
Sí. La comparación es estructural, no textual. Dos objetos con las mismas claves y valores pero en diferente orden se consideran idénticos — todas sus propiedades aparecen como 'Sin cambio'. Solo las diferencias reales de valor se reportan como modificadas.
¿Qué pasa si comparo un objeto con un array?
Si los tipos raíz son distintos (objeto vs array), la herramienta lo reporta como un cambio 'modified' en la raíz ($) mostrando el valor completo antes y después. No hace comparación parcial entre tipos incompatibles.
¿Hay límite de tamaño para los JSONs?
No hay límite explícito — todo corre en el navegador. La comparación es síncrona y rápida para JSONs de uso típico (hasta ~500KB). Para JSONs muy grandes con miles de claves, el análisis puede tomar un momento visible. La herramienta no envía datos a ningún servidor, así que puedes comparar JSONs con datos confidenciales.