Utilo

Comparador JSON

Compara dos documentos JSON de forma estructural. Ignora el orden de claves y arrays, empareja elementos por id y muestra campos añadidos, eliminados, modificados y con cambio de tipo, con rutas JSON en un árbol plegable.

Lo que hace esta herramienta de dif JSON

Las herramientas de diferenciación de texto tratan JSON como líneas, por lo que una clave reordenada o un archivo reformatado aparece como una pared de rojo y verde. Esta herramienta compara la estructura de dos documentos JSON. Recorre ambos árboles, informa cada valor añadido, eliminado y cambiado con su ruta JSON exacta, señala valores cuyo tipo ** cambió (un número que se convirtió en una cadena es una regresión API clásica) y muestra el resultado como un árbol plegable o una lista plana de rutas. La comparación se ejecuta en un trabajador web, por lo que las cargas útiles grandes permanecen receptivas.

Cómo usarlo

  1. Pegar el documento original en A y el nuevo en B.
  2. Leer los contadores de resumen: añadidos, eliminados, modificados y cambios de tipo.
  3. Utilice la vista de árbol para expandir solo las ramas que difieren, o cambie a ruta para una lista fácil de copiar como $.items[2].price.
  4. Encienda ignore order cuando las matrices sean conjuntos (etiquetas, permisos) en lugar de listas ordenadas.
  5. Establecer ** coincidencia por clave ** (por ejemplo id) para emparejar elementos de matriz por identidad, por lo que la inserción de un elemento no hace que cada elemento siguiente se vea cambiado.

Utilizaciones típicas

  • Comprobación de regresión de API: comparar una respuesta de la puesta en escena y la producción después de una implementación.
  • Config drift: Diferencia entre dos configuraciones de entorno o planes JSON de Terraform.
  • ** Pruebas de contrato:** los campos de localización de un backend se eliminan o renombran silenciosamente.
  • Fixtures: revisar lo que cambió en una prueba instantánea antes de aceptarla.

Consejos y casos límite

  • El orden de la clave del objeto nunca importa; los objetos JSON no están ordenados por definición.
  • 1 y 1.0 son números iguales en JSON; "1" y 1 son un cambio de tipo.
  • Con el orden ignorado, las matrices de primitivos se comparan como multiset, por lo que los duplicados todavía cuentan.
  • La coincidencia por clave solo se aplica a matrices de objetos que todos contienen esa clave; otras matrices se reducen a la comparación de índices.
  • JSON no válido se informa con el mensaje de error del analizador para el lado que falló.

Preguntas frecuentes

¿Se envían mis datos a un servidor?
  • No, no es así. Ambos documentos son analizados y comparados localmente en su navegador.
¿En qué se diferencia de la herramienta de diferencia de texto?

La diferencia de texto compara líneas. Esta herramienta entiende JSON, por lo que el formato, el espacio en blanco y el orden de las teclas no producen ruido, y cada diferencia viene con una ruta.

¿Puedo comparar archivos muy grandes?

Los archivos de varios megabytes funcionan bien porque el dif se aleja del hilo principal. El árbol se vuelve perezoso a medida que se expanden los nodos.

¿Qué quiere decir "tipo cambiado"?

El valor existe en ambos lados, pero su tipo JSON difiere, por ejemplo, un objeto reemplazado por una matriz o null reemplazado por una cadena.

Sí. Todo el procesamiento se realiza directamente en tu navegador mediante JavaScript, Web Workers y APIs web. Nada de lo que escribes, pegas o subes se envía a nuestros servidores.

Esta página se tradujo automáticamente del inglés. Si encuentras un error, avísanos.