JSON Diff

Compara dos documentos JSON y observa un diff estructural de lo que se añadió, eliminó y cambió, todo en tu navegador.

Ambos documentos JSON se analizan y comparan localmente en tu navegador y nunca se suben, pero evita pegar secretos o credenciales de producción en cualquier herramienta en línea.

¿Necesitas reformar el resultado? Prueba el Formateador de JSON.

Acerca de JSON Diff

JSON Diff compara dos documentos JSON y muestra un diff estructural en lugar de un diff de texto línea por línea. Pega el JSON original a la izquierda y la versión modificada a la derecha; la herramienta analiza ambos e informa exactamente qué valores se añadieron, eliminaron, cambiaron o cambiaron de tipo, cada uno con una ruta como user.roles[2]. Como la comparación es semántica, reordenar las claves de un objeto nunca aparece como diferencia, así que solo ves los cambios que de verdad importan. Activa Ignorar el orden de los arreglos para comparar arreglos como conjuntos, u Ordenar claves para normalizar ambos lados en la vista lado a lado. Está pensado para personas desarrolladoras que comparan respuestas de API, archivos de configuración y fixtures. Todo se ejecuta localmente en tu navegador, así que el JSON que pegas nunca se sube y permanece en tu dispositivo.

Características

Cómo usar JSON Diff

  1. Pega el JSON original en el cuadro Original a la izquierda.
  2. Pega el JSON actualizado en el cuadro Modificado a la derecha.
  3. Lee el diff a color: verde para añadido, rojo para eliminado, ámbar para los valores cambiados.
  4. Activa Ignorar el orden de los arreglos u Ordenar claves si el orden no debe contar como diferencia.
  5. Cambia a Lado a lado para comparar ambos documentos formateados, o copia el resumen del diff.

Ejemplo

Entrada

// Original
{ "name": "Ada", "roles": ["admin"], "active": 1 }

// Changed
{ "active": "1", "name": "Ada", "roles": ["admin", "editor"] }

Salida

+ roles[1]: "editor"
~ active: 1 → "1"   (type changed)

Las claves reordenadas se ignoran; se añade un nuevo elemento al arreglo y active pasa de número a cadena.

Errores comunes y solución de problemas

Preguntas frecuentes

¿JSON Diff ignora el orden de las claves de un objeto?
Sí. La comparación es semántica, así que dos objetos con las mismas claves y valores son iguales sin importar el orden de las claves. Solo se reportan adiciones, eliminaciones y cambios de valor reales, cada uno con su ruta.
¿Cómo trata JSON Diff los arreglos en distinto orden?
De forma predeterminada los arreglos se comparan por posición, así que reordenar elementos aparece como cambios. Activa Ignorar el orden de los arreglos para compararlos como multiconjuntos, donde solo se marcan los miembros realmente añadidos o eliminados.
¿Por qué 1 y "1" se muestran como diferentes?
Porque sus tipos JSON difieren: uno es un número y el otro una cadena. JSON Diff lo etiqueta como cambio de tipo, distinto de un cambio de valor ordinario, para que detectes números convertidos en cadena por accidente en respuestas de API.
¿Qué significa una ruta como user.roles[2] en el diff?
Apunta a la ubicación exacta del cambio: la clave user, luego su arreglo roles y luego el elemento en el índice 2. Las claves de objeto usan puntos y los elementos de arreglo usan índices entre corchetes.
¿Puedo comparar JSON muy anidado y arreglos anidados?
Sí. JSON Diff recorre ambos documentos de forma recursiva a través de objetos y arreglos anidados de cualquier profundidad, reportando cada cambio en su ruta completa para que las cargas grandes y muy anidadas sigan siendo legibles.
¿Se sube a algún lado el JSON que pego en JSON Diff?
No. Ambos documentos se analizan y comparan por completo en tu navegador, así que el JSON que pegas —incluidos cualquier campo sensible— permanece en tu dispositivo y nunca se envía a un servidor.

Herramientas relacionadas

Todas las herramientas de ArrayKit