search

Found

info Descripción

Aplica un JSON Patch RFC 6902 (add, remove, replace, move, copy, test) a un documento y muestra el JSON resultante con una traza por operación.

📘 Cómo usar

  1. Pega el documento JSON objetivo en el campo de la izquierda
  2. Pega el arreglo de operaciones RFC 6902 en el campo de la derecha
  3. Revisa el estado, el JSON parcheado y la traza por operación

Evaluador de JSON Patch (RFC 6902)

El documento JSON al que se aplicará el parche.

Operaciones RFC 6902 como arreglo (p. ej. [{"op":"add","path":"/x","value":1}]).

Estado
 
¡Copiado!

    ※ Aplica las operaciones RFC 6902 en orden, resolviendo rutas con la sintaxis JSON Pointer (RFC 6901).

    ※ Si alguna operación falla, todo el parche se considera fallido y se devuelve el documento original.

    Article

    Evaluador de JSON Patch (RFC 6902)|Aplica las 6 operaciones y mira el resultado

    Ejecuta un JSON Patch sobre un documento directamente en el navegador, sin servidor. Las seis operaciones estándar — add, remove, replace, move, copy y test — se aplican en orden y obtienes el JSON resultante junto con una traza legible de lo que hizo cada operación. Si una sola operación falla, todo el parche falla y se devuelve el documento original, tal como exige el RFC 6902.

    💡 Sobre esta herramienta

    Para entender JSON Patch conviene partir de su modelo: un parche es una lista ordenada de instrucciones, no el resultado final. Cada operación lleva un campo op (qué hacer), un campo path que apunta a una posición del documento mediante JSON Pointer (RFC 6901) y, según el caso, un value o un from. La herramienta resuelve ese path paso a paso y aplica la operación siguiendo la semántica de la especificación, de modo que puedes ver el mecanismo en acción en lugar de imaginarlo.

    Esto la hace útil para quien está aprendiendo el estándar o diseñando un endpoint PATCH. Pega un documento y un arreglo de operaciones, y comprueba cómo move traslada un valor, cómo copy lo duplica o cómo test compara antes de continuar. Cuando algo falla, indica qué operación (por ejemplo op[2]) y por qué: ruta inexistente, índice de arreglo fuera de rango, valor de test que no coincide u operación desconocida. Así el error deja de ser un misterio y se convierte en una lección.

    🧐 Preguntas Frecuentes

    Q. ¿Qué diferencia hay entre JSON Patch (RFC 6902) y JSON Merge Patch (RFC 7396)? A. JSON Patch es un arreglo de operaciones explícitas (add, remove, replace, move, copy, test) que se aplican en orden. Merge Patch envía un documento parcial con el estado final deseado y usa null para borrar claves; no tiene move, copy ni test. Usa JSON Patch cuando necesites manipular arreglos con precisión o comprobar una condición previa.

    Q. ¿Para qué sirve la operación test? A. Es una guarda que verifica que el valor en una ruta sea el esperado antes de mutar nada. Si pones test /version == 15 al inicio, el resto del parche solo se aplica cuando el documento sigue en el estado que supusiste: una forma de concurrencia optimista para no pisar el cambio de otra persona.

    Q. ¿Qué pasa si una operación falla? A. El RFC 6902 trata el parche de forma atómica. En cuanto una operación falla, todo el parche se considera fallido y la herramienta devuelve el documento original sin cambios. No hay aplicación parcial.

    Q. ¿Qué significa el - en /user/tags/-? A. Es el token especial de JSON Pointer que apunta al final del arreglo. Con add, el - agrega al final; un índice numérico inserta en esa posición.

    Q. ¿Cómo referencio una clave que contiene una barra o una tilde? A. Usa el escape del RFC 6901: dentro de una clave, escribe / como ~1 y ~ como ~0. Así, una clave llamada literalmente a/b se direcciona como /a~1b.

    📚 Cómo encaja JSON Patch en el método PATCH de REST

    El verbo PATCH de REST significa "actualización parcial", pero HTTP no define el formato del cuerpo. Al llevar un JSON Patch en ese cuerpo, describes el cambio como una secuencia de operaciones en lugar de reenviar el documento completo. Frente a PUT, la carga es pequeña, y combinar las mutaciones con un test evita sobrescribir en silencio un campo que alguien modificó después de tu lectura. El arreglo de operaciones también funciona como registro de auditoría legible: queda claro quién cambió qué ruta y cómo. Herramientas como kubectl patch --type=json aceptan este mismo formato RFC 6902. En la práctica, la manera más rápida de asimilar la diferencia entre move y copy, o de sentir cómo test aborta un parche, es ordenar unas operaciones y observar el resultado en vez de releer el estándar.