Generador y Aplicador de JSON Patch
Genera un JSON Patch RFC 6902 entre dos documentos, aplica un patch a un origen o ejecuta un merge patch RFC 7386, por completo en tu navegador.
El Generador de JSON Patch funciona por completo en tu navegador. Los documentos y patches que pegas se comparan y se aplican en tu dispositivo y nunca se suben a ArrayKit.
Abre la herramienta de Diferencias de JSON
Acerca de Generador de JSON Patch
El Generador de JSON Patch convierte la diferencia entre dos documentos JSON en un array de operaciones RFC 6902 limpio: los pasos add, remove, replace, move y copy que transforman un origen en un destino. Cambia al modo Aplicar para ejecutar un patch contra un documento de origen y ver el resultado exacto, con cada operación validada para que una operación errónea o un test fallido se detecte en lugar de omitirse en silencio. Un tercer modo aplica JSON Merge Patches RFC 7386, donde un valor null elimina una clave y los objetos se fusionan clave por clave. Está pensado para desarrolladores que montan endpoints PATCH, sincronizan configuración o revisan cambios de API. Tu origen, tu destino y tu patch se procesan en tu dispositivo y nunca salen del navegador.
Características
- Genera un patch RFC 6902 mínimo (add / remove / replace / move / copy) a partir de dos documentos JSON
- Aplica un array de patch a un documento de origen y ve el resultado parcheado al instante
- Valida cada operación: las operaciones desconocidas, los tests fallidos y las rutas no resolubles se informan, no se omiten
- Aplica JSON Merge Patches RFC 7386 donde un valor null elimina una clave
- Diferencia independiente del orden de las claves, así que reordenar las claves nunca produce operaciones ruidosas
- Copia el patch o el resultado, o descárgalo como un archivo .json
- Insignias en vivo de válido / no válido señalan qué lado tiene un error de sintaxis JSON
- Todo funciona en tu navegador: los documentos y los patches se quedan en tu dispositivo
Cómo usar Generador de JSON Patch
- Elige Generar para comparar dos documentos, Aplicar patch para ejecutar un patch RFC 6902, o Merge patch para RFC 7386
- Pega tu JSON de origen a la izquierda
- Pega el documento de destino, el array de patch o el merge patch a la derecha
- Lee las operaciones generadas o el resultado parcheado, y luego cópialo o descárgalo
Ejemplo
Entrada
source: {"active":true,"roles":["admin"]}
target: {"active":false,"roles":["admin","editor"]}
Salida
[
{ "op": "replace", "path": "/active", "value": false },
{ "op": "add", "path": "/roles/1", "value": "editor" }
]
Generar produce las operaciones RFC 6902 que convierten el origen en el destino.
Errores comunes y solución de problemas
- El modo Aplicar dice que el patch debe ser un array de operaciones. — Un patch RFC 6902 es un array JSON como [ { "op": "add", "path": "/x", "value": 1 } ]. Envuelve un único objeto de operación entre corchetes.
- Una operación remove o replace falla con una ruta no resoluble. — La ruta ya debe existir en el origen. Comprueba si hay una errata, recuerda que las rutas empiezan con una barra, y escapa / y ~ en las claves como ~1 y ~0.
- Una operación test hace fallar todo el patch. — Los patches RFC 6902 son de todo o nada. Un test fallido aborta el patch, así que confirma que el valor probado coincida exactamente con el origen antes de que se ejecuten las operaciones siguientes.
- Un merge patch reemplazó un array entero en lugar de editar un solo elemento. — RFC 7386 no tiene ediciones de array a nivel de elemento: un array en un merge patch sobrescribe todo el array. Usa un patch RFC 6902 con rutas indexadas para cambios por elemento.
Preguntas frecuentes
- ¿Qué es un JSON Patch RFC 6902?
- RFC 6902 es un formato que describe los cambios de un documento JSON como un array ordenado de operaciones —add, remove, replace, move, copy y test—, cada una dirigida a una ruta de JSON Pointer. Aplicar el array al origen produce el destino.
- ¿En qué se diferencia JSON Merge Patch (RFC 7386) de JSON Patch (RFC 6902)?
- Un merge patch es en sí mismo un objeto JSON que refleja el destino: las claves presentes se establecen, un valor null elimina una clave, y los arrays y escalares se reemplazan por completo. Es más simple pero no puede mover valores ni editar elementos individuales de un array como sí pueden las operaciones RFC 6902.
- ¿Cómo genero un patch a partir de dos documentos JSON?
- Quédate en Generar, pega el original a la izquierda y la versión modificada a la derecha, y la herramienta calcula el array de operaciones RFC 6902 mínimo. La diferencia ignora el orden de las claves, así que los campos reordenados no crean operaciones espurias.
- ¿Por qué mi patch no se aplicó?
- Las operaciones se validan contra el origen. Las causas comunes son una ruta que no existe para remove o replace, una operación test cuyo valor no coincide, o un nombre de operación no válido. La herramienta muestra el error concreto para que corrijas esa operación.
- ¿Un merge patch realmente elimina una clave con null?
- Sí. En RFC 7386, una propiedad establecida en null indica a la fusión que elimine esa clave del resultado. Para almacenar un null de verdad tienes que usar en su lugar una operación replace de RFC 6902.
- ¿Mis documentos JSON y patches se suben a algún sitio?
- No. El generador, el aplicador de patches y el motor de merge patch funcionan todos localmente en tu navegador. Tus datos de origen, destino y patch se procesan en tu dispositivo y nunca se envían a ArrayKit.
Herramientas relacionadas
- JSON Diff — Compara dos documentos JSON con un diff estructural por rutas.
- Formateador de JSON — Embellece, minimiza y valida JSON con la ubicación de los errores.
- JSON Flatten / Unflatten — Aplana JSON anidado a claves con notación de puntos, o vuelve a anidarlo.
- Ordenar claves JSON — Ordena recursivamente las claves de un objeto JSON de la A a la Z.
- JSON a CSV — Convierte un arreglo de objetos JSON planos a CSV.
- NDJSON a JSON — Convierte NDJSON (JSON Lines) en un array JSON con formato y de vuelta.
Todas las herramientas de ArrayKit