#246 · Herramienta para desarrolladores

Generador de JSON Patch

Compara un JSON de origen con otro de destino y construye una secuencia JSON Patch basada en operaciones add, remove y replace. El generador recorre objetos y arrays, escapa correctamente las rutas JSON Pointer y produce un patch listo para copiar. No intenta adivinar operaciones move o copy, evitando inferencias que podrían cambiar la intención del diff.

Datos de entrada

Entrada local
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Proporciona un objeto con source y target.
  2. Genera el patch.
  3. Revisa las operaciones y sus rutas.
  4. Prueba el patch con un aplicador antes de usarlo en producción.

Qué hace esta herramienta para desarrolladores

Calcula diferencias estructurales recursivas y expresa los cambios como operaciones RFC 6902 simples: add, remove y replace.

Calcula diferencias estructurales recursivas y expresa los cambios como operaciones RFC 6902 simples: add, remove y replace.

El procesamiento se ejecuta localmente en el navegador; revisa siempre el resultado antes de usarlo sobre datos de producción.

Ejemplo

Entrada de ejemplo

{"source":{"nombre":"Ana","edad":30,"roles":["user"]},"target":{"nombre":"Ana","edad":31,"roles":["user","editor"],"activo":true}}

Resultado esperado

Calcula diferencias estructurales recursivas y expresa los cambios como operaciones RFC 6902 simples: add, remove y replace.

Casos de uso

  • Crear un patch para una API compatible con RFC 6902.
  • Documentar cambios entre dos configuraciones JSON.
  • Generar operaciones reproducibles para pruebas.

Consejos para obtener resultados fiables

  • Revisa el orden de operaciones antes de enviarlas.
  • Prueba el patch sobre una copia del documento.
  • No asumas que un replace equivale a un merge profundo.
  • Usa JSON Pointer correctamente escapado para claves especiales.

Detalles del procesamiento

Calcula diferencias estructurales recursivas y expresa los cambios como operaciones RFC 6902 simples: add, remove y replace. La herramienta usa APIs estándar de JavaScript y no realiza solicitudes externas para ejecutar la función principal.

El diff no optimiza tamaño ni detecta move/copy. En arrays, algunos cambios pueden expresarse con varias operaciones aunque exista un patch más corto.

Preguntas frecuentes

¿Qué operaciones genera este JSON Patch Builder?

Genera add, remove y replace a partir de diferencias estructurales.

¿Detecta automáticamente operaciones move o copy?

No. No infiere intención semántica; cambios equivalentes pueden representarse como remove/add o replace.

¿Las rutas del patch cumplen JSON Pointer?

Sí. Las claves se escapan para ~ y / siguiendo las reglas de JSON Pointer.

¿Cómo trata los cambios en arrays?

Compara posiciones comunes, elimina elementos sobrantes desde el final y añade elementos nuevos al final.

¿Debo probar el patch antes de usarlo en una API?

Sí. Un diff estructural puede ser válido pero no coincidir con restricciones de negocio o versión del servidor.

Resumen técnico

AspectoComportamiento
EntradaJSON estructurado
ProcesamientoCalcula diferencias estructurales recursivas y expresa los cambios como operaciones RFC 6902 simples: add, remove y replace.
SalidaOperaciones RFC 6902