Herramientas JSON

Comparar JSON— Encuentra el campo que cambió

Pega ambos documentos JSON: el resultado se actualiza al dejar de escribir. Desactiva la comparación automática para usar el botón manualmente.

Comparar JSON

+ Añadidos: 2− Eliminados: 1Modificados: 7

Actualizado

1 / 10

Vista de solo lectura: el formato y el orden se alinean según las reglas de comparación. Las rutas ignoradas se ocultan; los originales no cambian.

− JSON original/users/0/id
+ JSON modificado/users/0/id

Cargando comparación…

{
  "users": [
    {
      "id": 1,
      "name": "Ada",
      "role": "reader"
    },
    {
      "id": 2,
      "name": "Lin",
      "role": "editor"
    }
  ],
  "version": 1,
  "updatedAt": "2026-09-01"
}
{
  "users": [
    {
      "id": 2,
      "name": "Lin",
      "role": "admin"
    },
    {
      "id": 1,
      "name": "Ada",
      "role": "reader"
    },
    {
      "id": 3,
      "name": "Sam",
      "role": "reader"
    }
  ],
  "updatedAt": "2026-09-10",
  "active": true
}

Tus entradas permanecen en esta pestaña del navegador, sin envío ni almacenamiento persistente.

Detalles de estructura (10)
  • Raíz
    • users
      • 0
        • Modificados

          JSON original /users/0/id

          1

          JSON modificado /users/0/id

          2
        • Modificados

          JSON original /users/0/name

          "Ada"

          JSON modificado /users/0/name

          "Lin"
        • Modificados

          JSON original /users/0/role

          "reader"

          JSON modificado /users/0/role

          "admin"
      • 1
        • Modificados

          JSON original /users/1/id

          2

          JSON modificado /users/1/id

          1
        • Modificados

          JSON original /users/1/name

          "Lin"

          JSON modificado /users/1/name

          "Ada"
        • Modificados

          JSON original /users/1/role

          "editor"

          JSON modificado /users/1/role

          "reader"
      • Añadidos

        JSON original

        Ausente

        JSON modificado /users/2

        {"id":3,"name":"Sam","role":"reader"}
    • Eliminados

      JSON original /version

      1

      JSON modificado

      Ausente
    • Modificados

      JSON original /updatedAt

      "2026-09-01"

      JSON modificado /updatedAt

      "2026-09-10"
    • Añadidos

      JSON original

      Ausente

      JSON modificado /active

      true

Tras desplegar una API, una respuesta puede traer campos en otro orden sin que haya cambiado su contenido. Un comparador JSON permite revisar los valores y sus tipos sin confundir la nueva presentación con una regresión. Comparar JSON por estructura evita revisar cada línea reindentada.

Prueba el ejemplo de JSON Diff y cambia del modo por posición al modo por clave. Verás cómo las diferencias JSON de una lista reordenada dejan paso al cambio real de permisos.

Comparar JSON para encontrar los cambios relevantes

Identifica registros aunque cambie su orden

Una API puede devolver los mismos registros en otro orden. Si cada objeto tiene un id único, la comparación por clave los empareja antes de revisar sus campos. Un permiso modificado sigue siendo visible sin que una reordenación parezca una serie de cambios ajenos. Usa posiciones cuando el orden tenga significado.

Símbolos iguales conectan registros reordenados; un campo modificado aparece resaltado en ámbar.

Aparta los campos que cambian en cada respuesta

Un nuevo valor updatedAt puede distraerte del cambio de configuración que buscas. Excluye /updatedAt para omitir ese campo y sus descendientes conservando las demás diferencias. Las exclusiones usan rutas JSON Pointer exactas: selecciona solo la rama que realmente quieras ignorar.

Dos árboles de datos muestran marcas de tiempo atenuadas y un cambio resaltado en otra rama.

Revisa las diferencias en tres pasos

01

Añade las dos versiones

Pega JSON válido en ambos editores o carga el ejemplo para explorar el árbol de resultados. La comparación automática actualiza el resultado tras una pausa al escribir.

02

Elige cómo emparejar registros

Mantén las posiciones para listas ordenadas o selecciona una clave única como id para arrays de objetos. Introduce una ruta por línea, como /updatedAt, para excluir campos.

03

Inspecciona y guarda el informe

Abre «Ver comparación»: las eliminaciones aparecen en rojo y las adiciones en verde. Recorre los cambios o consulta las rutas originales en los detalles de estructura y copia o descarga el informe.

Revisa los cambios con contexto

Árbol de rutas afectadas

Despliega las ramas para consultar el valor anterior y el nuevo. Cada cambio incluye un JSON Pointer. Si un registro se empareja por clave después de moverse, se muestran los índices reales de ambos documentos.

Dos estrategias para arrays

Por posición compara índices equivalentes y conserva la importancia del orden. Por clave utiliza una propiedad directa, como id, para reconocer el mismo objeto aunque esté en otra posición.

Informe con las opciones utilizadas

Copia o descarga un informe JSON con los recuentos y las reglas del análisis. Los valores se guardan como cadenas de código JSON para conservar los dígitos de números grandes al leer el archivo.

Reglas y límites

JSON estricto y tipos distintos
Los comentarios, las comas finales y las claves duplicadas impiden comparar. Un número no equivale a una cadena, ni null a un campo ausente. Escrituras numéricas como 1 y 1.0 son iguales sin redondeo de coma flotante.
Identificadores únicos en cada array
Cada objeto debe tener la propiedad elegida como cadena o número único. Si falta, se repite o el array mezcla objetos con valores simples, el modo por clave devuelve un error. Los arrays sin objetos siguen por posición; 1 y "1" son IDs distintos.
Las exclusiones abarcan la rama completa
Escribe un JSON Pointer exacto por línea, por ejemplo /updatedAt. En las claves, / se representa con ~1 y ~ con ~0. No se admiten comodines ni JSONPath. En modo clave basta con que coincida la ruta de cualquiera de los dos índices reales para excluir la pareja.
Recuentos por rama modificada
Añadir o eliminar un subárbol completo cuenta una vez; sustituir un tipo también. No se generan operaciones de movimiento. El archivo es un informe de revisión, no un parche RFC 6902 aplicable. Si hay exclusiones internas, los contenedores añadidos o eliminados se desglosan para contar solo los hijos no excluidos.
Carga limitada del navegador
Cada lado admite 500.000 unidades UTF-16, 50.000 nodos y profundidad 100; cada número, 1.000 caracteres. Más de 5.000 diferencias detienen el proceso sin informe parcial. El árbol muestra bloques de 100; la exportación incluye todo.

Comparar JSON: preguntas frecuentes

¿En qué casos sirve comparar dos respuestas JSON?

Es útil al revisar una respuesta antes y después de un despliegue, comparar configuraciones entre entornos o comprobar fixtures. El árbol sitúa cada valor cambiado junto a su ruta.

¿Cambiar la posición de las claves produce diferencias?

No. Las claves de objetos se emparejan por nombre. La sangría y los espacios fuera de las cadenas tampoco generan cambios.

¿Cómo se compara un arreglo que cambió de orden?

Por defecto se comparan índices, así que el orden importa. Si son objetos con un identificador único, selecciona el modo por clave; los valores simples conservan la comparación por posición.

¿Hay que subir los documentos para compararlos?

No hace falta subirlos. Pega ambos textos en los editores; el informe solo sale del flujo de trabajo cuando decides copiarlo o descargarlo.

¿Qué sucede cuando una entrada no es JSON válido?

La comparación se detiene y señala el lado afectado y la ubicación del error. Corrige la entrada: el modo automático vuelve a comparar tras una pausa; en modo manual, pulsa Comparar. Los errores permanecen en el panel, sin notificaciones emergentes.

¿Encontraste un resultado de comparación incorrecto?

Comparar JSON ahora

Carga el ejemplo y pasa al modo por clave para comparar JSON sin que una lista reordenada aparezca como un cambio.