Saltar al contenido

Aplicador de JSON Patch

Aplicar un RFC 6902 JSON Patch (o RFC 7396 merge patch) a un documento JSON.

Entrada
Patch (JSON)
Salida

Aplicador de JSON Patch

Pega un documento JSON y un patch, y esta herramienta aplica el patch y devuelve el documento resultante. Soporta tanto RFC 6902 JSON Patch — el array estándar de operaciones add, remove, replace, move, copy y test — como RFC 7396 JSON Merge Patch, el formato más simple «simplemente describe la forma que quieres» usado por muchas APIs REST para solicitudes PATCH.

Antes de que nada se ejecute, el patch se verifica en busca de problemas estructurales: un nombre de operación desconocido, una «path» faltante o mal formada, un «value» faltante en add/replace/test, o un «from» faltante en move/copy se detectan de inmediato y se reportan con el índice exacto de la operación, en lugar de fallar a mitad del proceso. Una vez que el patch pasa esa verificación, la opción de error decide qué sucede si una operación individual aún falla al aplicarse (una ruta que ya no existe, una prueba que no coincide): detener en el primer error y mantener lo que ya se aplicó, u omitirlo y continuar. Activa el seguimiento paso a paso para ver el documento después de cada operación — invaluable cuando un patch de nueve pasos hace algo inesperado en el paso seis. La simulación calcula todo sin cambiar la salida, para que puedas verificar que un patch es seguro antes de confiar en él.

Las rutas de JSON Pointer siguen RFC 6901 exactamente, incluyendo el token de array-append «-» y los escapes ~0 / ~1 para «~» y «/» dentro de una clave. Move y copy leen la fuente con «from» y escriben con «path»; test compara estructuralmente, ignorando el orden de las claves del objeto. La salida puede indentarse para legibilidad o compactarse para pegar en una llamada API, y el tally reporta cuántas operaciones se aplicaron, fallaron u omitieron.

Todo se ejecuta localmente en tu navegador — el documento y el patch nunca se cargan en ningún lugar, por lo que es seguro usarlo con payloads reales de API o archivos de configuración. Copia el resultado, descárgalo como archivo .txt, o envíalo directamente de nuevo a la entrada para aplicar otro patch encima.

Preguntas frecuentes

¿Cuál es la diferencia entre JSON Patch y JSON Merge Patch?
JSON Patch (RFC 6902) es una lista explícita de operaciones — añade esto, elimina aquello, mueve esto aquí — para que pueda expresar cambios precisos como reordenar un array. JSON Merge Patch (RFC 7396) es simplemente un objeto JSON parcial que describe la nueva forma; una clave establecida en null la elimina, cualquier otra cosa la sobrescribe. Merge patch es más simple de escribir a mano pero no puede expresar ediciones de array ni distinguir inequívocamente entre « elimina esta clave » y « establécela en null ».
¿Qué sucede si una operación falla a mitad de camino?
Con « detener en el primer error », las operaciones ya aplicadas permanecen aplicadas y el resto se omiten — el tally y el seguimiento muestran exactamente dónde se detuvo. Con « omitir y continuar », cada operación se intenta y solo las que fallan se dejan fuera del resultado.
¿Qué hace realmente la simulación?
La simulación valida el patch y simula cada operación, por lo que el tally y el seguimiento muestran exactamente qué sucedería, pero la caja de salida aún muestra tu documento original sin cambios. Nada se « escribe » en ningún lugar en una herramienta de navegador — es una forma de previsualizar el efecto de un patch antes de confiar en él.
¿Valida la patch antes de aplicarla?
Sí. Un nombre de operación desconocido, una ruta que no es un JSON Pointer válido, o un campo « value »/« from » faltante se detectan antes de que cualquier operación se ejecute, y el error identifica el índice de la operación para que puedas encontrarlo en un patch largo.
¿Se carga mi JSON en algún lugar?
No. Tanto el documento como el patch se procesan completamente en tu navegador y nunca abandonan tu dispositivo.