Comparador de JSON y parche

Pegue dos documentos JSON. La página lista cada valor añadido, quitado o cambiado, con su ruta, y escribe un JSON Patch RFC 6902 que convierte el documento izquierdo en el derecho.

Gratuita Funciona en su navegador Revisada: martes, 10 de noviembre de 2026

El primer documento, normalmente la versión antigua. Sus valores son el «antes» de cada cambio.

El segundo documento, normalmente la versión nueva. Sus valores son el «después» de cada cambio.

Compara los arrays como colecciones, así que un elemento que solo cambia de sitio no es un cambio.

Resultado

Número de diferencias — Valores añadidos, quitados y cambiados en conjunto.
Validez — Si los dos textos son JSON válido, o cuál de ellos no lo es.
Resumen —
Comprobación del parche — Aplica el parche al documento izquierdo en el navegador y compara el resultado con el documento derecho.
JSON Patch (RFC 6902)
Diferencias

Esta herramienta funciona en su navegador. Lo que escribe no se envía a nosotros.

Cómo se usa

  1. Pegue el JSON antiguo en JSON izquierdo y el JSON nuevo en JSON derecho.
  2. Marque Ignorar el orden de los elementos de los arrays si los arrays son conjuntos, como listas de etiquetas.
  3. Lea la tabla de Diferencias. Cada fila da la Ruta (JSON Pointer) del valor, y copie el JSON Patch cuando Comprobación del parche indique que se aplica.

Cómo se comparan los documentos

Los dos documentos se comparan por valor. El orden de los nombres dentro de un objeto no importa, porque JSON define un objeto como un conjunto de miembros. El orden de los elementos de un array sí importa, salvo que marque la opción, ya que un array es una lista ordenada.

Los números se comparan como números, así que 1 y 1.0 son iguales. La RFC 8259, sección 6, dice que los enteros de −(2⁵³)+1 a (2⁵³)−1 se leen igual en cualquier implementación, y que un entero más largo puede redondearse al leerlo.

Rutas y el parche

Una ruta es un JSON Pointer (RFC 6901): cada paso es un nombre o un índice, separados por una barra. El primer elemento de la lista de etiquetas es /tags/0, y la ruta vacía es el documento completo. Una barra dentro de un nombre se escribe ~1, y una tilde se escribe ~0.

El JSON Patch (RFC 6902) usa tres operaciones: add, remove y replace. Los elementos de array quitados se eliminan empezando por el último, para que cada índice siga siendo correcto cuando se usa, y los elementos añadidos se agregan con el índice «-», que la RFC 6902 define como el final del array.

Ignorar el orden de los arrays

Con la opción marcada, los elementos se emparejan por su valor, sea cual sea su posición. Los elementos sin pareja se indican como añadidos o quitados. Un array que difiere se reemplaza entero en el parche, porque un parche que solo mueve elementos necesitaría saber cómo se movieron. El parche entonces da el array en el orden del documento derecho.

Ejemplo resuelto: los documentos por defecto

El documento izquierdo tiene el nombre FireToolLand, la versión 1, las etiquetas json y csv, y free con el valor true. El documento derecho tiene la versión 2, las etiquetas csv, json y yaml, y una licencia null. Leídas en orden, las diferencias son seis: la versión, las dos etiquetas cambiadas, la etiqueta yaml añadida, el free quitado y la licencia añadida.

Con Ignorar el orden de los elementos de los arrays marcado, las etiquetas son los mismos dos elementos en otro orden, así que la única diferencia de etiquetas es yaml, y el número baja a cuatro.

Resultado Textos por defecto Orden ignorado
Número de diferencias 6 4
Resumen Añadidos: 2. Quitados: 1. Cambiados: 3. Añadidos: 2. Quitados: 1. Cambiados: 1.

Preguntas frecuentes

¿Por qué importa el orden de los elementos de un array?

En JSON un array es una lista ordenada, así que [1,2] y [2,1] son datos distintos. Marque Ignorar el orden de los elementos de los arrays cuando el array sea un conjunto, como una lista de etiquetas o de permisos.

¿Qué significa una ruta como /tags/0?

Es un JSON Pointer (RFC 6901): el miembro tags, y después su primer elemento, porque los índices empiezan en 0. La ruta vacía significa el documento completo, y un nombre que contiene una barra se escribe con ~1 en su lugar.

¿Son 1 y 1.0 el mismo valor?

Sí. Los dos son el número uno, así que la página no indica ninguna diferencia. Un analizador de JSON puede redondear enteros mayores que 2⁵³, así que compare los identificadores largos como texto.

¿Para qué sirve un JSON Patch?

Es una lista de pasos (RFC 6902) que un servidor o una biblioteca aplica a un documento para obtener otro, por ejemplo para actualizar un archivo de ajustes guardado. La comprobación del parche indica que los pasos dan el documento correcto.

¿Por qué se reemplaza un array entero cuando se ignora el orden?

Con el orden ignorado, un array cambiado no tiene un paso único que lo convierta en el correcto sin saber cómo se movieron sus elementos. Por eso el parche escribe el array correcto completo.

¿Se envía mi JSON a algún sitio?

No. Los dos textos se leen y se comparan en su navegador, y nada de lo que pega se envía a nuestro servidor ni se guarda allí.

Fuentes

Cifras y texto revisados por última vez el martes, 10 de noviembre de 2026.

Usamos cookies necesarias para que el sitio funcione. Si usted lo acepta, Google también usa cookies publicitarias para mostrar anuncios personalizados. Si las rechaza, seguirá viendo anuncios, pero no estarán personalizados.