Comparar JSON

Pega dos documentos JSON para ver exactamente qué ha cambiado: cada valor añadido, eliminado y modificado con su ruta. El orden de las claves y el formato se ignoran, y también puedes ignorar el orden de los arrays o emparejar los elementos de un array por un id.

Última actualización:

Publicidad
Publicidad

Cómo usar Comparar JSON

  1. Pega el JSON original a la izquierda y el JSON modificado a la derecha, o sube dos archivos .json.
  2. Lee el resumen: los recuentos de valores añadidos, eliminados y cambiados aparecen al instante.
  3. Revisa las diferencias. Cada fila muestra la ruta (como $.users[2].email) y el valor antiguo y el nuevo. Usa los filtros para mostrar solo un tipo.
  4. Ajusta las opciones si hace falta: ignorar el orden de los arrays, emparejar elementos por una clave como id, ignorar claves como updatedAt o ignorar mayúsculas/minúsculas.
  5. Cambia de vista a En paralelo para ver las líneas resaltadas, o a JSON Patch para copiar un parche que convierte el documento izquierdo en el derecho.

Cómo funciona la comparación de JSON

Primero se analizan ambos documentos, así que la herramienta compara datos, no texto. Después recorre los dos árboles en paralelo:

  • Los objetos se comparan clave por clave. Una clave que solo está a la izquierda se ha eliminado, una que solo está a la derecha se ha añadido. El orden de las claves nunca importa.
  • Los arrays se comparan con un algoritmo de subsecuencia común más larga, la misma idea que usan las herramientas de comparación de texto. Insertar un elemento al principio se indica como un elemento añadido, no como un cambio en todos los elementos. Los arrays de registros que tienen todos un id único (o _id, uuid, key, sku, code) se emparejan automáticamente por ese campo; indica tu propio campo en Emparejar elementos de array por clave.
  • Los valores (cadenas, números, booleanos, null) se marcan como cambiados cuando difieren. Si el tipo es distinto, por ejemplo 1000 pasó a ser "1000", se indica como un cambio de tipo, una causa habitual de errores en las API.

Cómo leer las rutas JSON

RutaSignificado
$El documento completo (raíz)
$.owner.emailLa clave email dentro del objeto owner
$.tags[3]El cuarto elemento del array tags (los índices empiezan en 0)
$.users[id=2]El elemento de users cuyo id es 2 (al emparejar por clave)
$["first name"]Una clave que contiene espacios o caracteres especiales
/users/0/emailJSON Pointer (RFC 6901), el estilo de ruta que usa JSON Patch

Usos habituales

  • Pruebas de API: compara una respuesta antes y después de un despliegue. Añade updatedAt, requestId a Ignorar claves para que los campos que siempre cambian no oculten regresiones reales.
  • Deriva de configuración: compara package.json, tsconfig.json o configuraciones de despliegue entre ramas o entornos.
  • Migraciones de datos: empareja registros por id para ver exactamente qué registros cambiaron, aparecieron o desaparecieron.
  • Sincronización y parches: copia el JSON Patch para enviar solo los cambios a un servidor compatible con RFC 6902.

Preguntas frecuentes

¿Cómo comparo dos archivos JSON?

Pega o sube el primer archivo a la izquierda y el segundo a la derecha. La herramienta analiza ambos y los compara valor por valor, así que se ignoran las diferencias de espacios, sangría u orden de claves y solo se listan los cambios reales de datos.

¿Importa el orden de las claves en JSON?

No. En JSON, un objeto es un conjunto no ordenado de pares nombre/valor, así que {"a":1,"b":2} y {"b":2,"a":1} son los mismos datos. El orden de los arrays sí importa por defecto, porque [1,2] y [2,1] son listas distintas, pero puedes elegir ignorarlo.

¿Qué hace 'Emparejar elementos de array por clave'?

Los arrays de objetos, como usuarios o productos, a menudo se reordenan o reciben elementos nuevos. Si cada elemento tiene un campo único como id, la herramienta empareja los elementos con el mismo id y los compara, en lugar de compararlos por posición. Los cambios se muestran entonces como $.users[id=42].email.

¿Qué es un JSON Patch?

JSON Patch (RFC 6902) es una lista estándar de operaciones, como add, remove y replace, con rutas JSON Pointer como /users/0/email. Aplicar el parche generado al documento izquierdo produce exactamente el documento derecho.

¿Se sube mi JSON a un servidor?

No. Ambos documentos se analizan y comparan con JavaScript en tu navegador, así que las respuestas de API, configuraciones y otros datos privados nunca salen de tu dispositivo.

¿Por qué 1 y 1.0 se muestran como iguales?

En JSON ambos son el mismo número. La comparación trabaja con los valores analizados, así que 1, 1.0 y 1e0 son iguales, y "1" (una cadena) se indica como un cambio de tipo de número a cadena.

¿Qué tamaño pueden tener los archivos JSON?

Funcionan documentos de varios megabytes. Los arrays muy grandes usan una comparación más rápida basada en la posición, y la vista en paralelo se limita en archivos enormes para que la página siga respondiendo con fluidez.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Conversores de datos y formatos de archivo →