Combinar JSON
Fusiona en profundidad dos objetos JSON en uno; las claves repetidas usan por defecto el valor derecho (se puede cambiar o solo contar conflictos), los arrays se reemplazan completos.
Combina dos JSON en profundidad y gestiona los campos duplicados según una estrategia
¿Qué es combinar JSON?
Combinar JSON consiste en unir dos conjuntos de datos JSON en un único resultado según sus campos. Los campos exclusivos de JSON A y JSON B se conservan, mientras que los campos con el mismo nombre se procesan según la estrategia seleccionada. Cuando los valores de un campo común son objetos, la combinación profunda continúa comparando los campos internos.
¿Cómo se procesan los objetos anidados?
La herramienta utiliza la combinación profunda de forma predeterminada. En objetos anidados, un campo con el mismo nombre no hace que B sustituya inmediatamente todo el objeto de A, sino que la combinación continúa dentro del objeto. Por ejemplo, si A contiene server.port y B contiene server.host, ambos campos se conservan. Solo los valores que entren en conflicto en la misma ruta se procesan según la estrategia seleccionada. Si desactivas la combinación profunda, los campos con el mismo nombre se tratan como valores completos y ya no se comparan sus propiedades internas.
¿Qué tres estrategias existen para los campos con el mismo nombre?
Con sobrescritura por el segundo valor, se utiliza el valor de JSON B; es la estrategia predeterminada y resulta útil para usar B como configuración que sobrescribe los valores predeterminados de A. Con prioridad al primer valor, se conserva el valor de JSON A y B solo añade los campos que no existen en A. Con conservación del valor izquierdo en caso de conflicto, los campos en conflicto mantienen el valor de A y se cuenta el número de conflictos para facilitar su revisión.
¿Cómo se combinan los arrays?
Los arrays se tratan como valores completos y no se combinan elemento por elemento según su índice. Si A y B contienen arrays en la misma ruta, el resultado selecciona uno de ellos según la estrategia de prioridad y no concatena ni combina automáticamente sus elementos. Esto evita combinaciones inesperadas en listas ordenadas.
¿Qué se considera un conflicto?
Cuando JSON A y JSON B contienen valores diferentes en la misma ruta y es necesario utilizar la estrategia de combinación para decidir el valor final, el campo se incluye en el recuento de conflictos. Los valores completamente iguales no se consideran conflictos. Los campos con el mismo nombre dentro de objetos anidados también se procesan según su ruta real. Después de combinar los datos puedes consultar el número de campos en conflicto y revisar las configuraciones importantes.
¿Para qué situaciones sirve combinar JSON?
JSON Merge es útil para combinar configuraciones predeterminadas y de entorno, archivos de configuración de distintos entornos, valores predeterminados de una API y preferencias del usuario, así como datos JSON mantenidos por partes. Si primero necesitas comprobar exactamente qué campos han cambiado, puedes utilizar JSON Diff antes de realizar la combinación.
¿Cómo combinar archivos JSON locales?
Cambia a la pestaña de archivos y coloca el primer archivo en JSON A y el segundo en JSON B. También puedes arrastrar directamente los archivos JSON locales. Los archivos se leen y procesan en el navegador, con un límite de 10 MB por archivo. Una vez cargados ambos lados puedes realizar la combinación sin subir el contenido al servidor. El botón de intercambio permite cambiar el orden de A y B, ya que el orden afecta al resultado de las sobrescrituras.
¿Cómo comprobar el resultado?
Después de combinar los datos, revisa primero el número de campos en conflicto y después comprueba los valores finales de los campos importantes. Si utilizas la sobrescritura por el segundo valor, presta especial atención a los valores de JSON B; si utilizas prioridad al primer valor, comprueba que los valores originales de A deban conservarse. El resultado puede copiarse o descargarse como JSON y utiliza una indentación de 2 espacios para facilitar su lectura y control de versiones.
¿Cómo se gestionan los campos con el mismo nombre al combinar JSON?
JSON Merge utiliza la combinación profunda de forma predeterminada: conserva los campos exclusivos, combina los objetos anidados por niveles y, por defecto, deja que JSON B sobrescriba los valores de JSON A. También puedes dar prioridad a JSON A o conservar el valor izquierdo en caso de conflicto y contar los conflictos.
Los arrays se procesan como valores completos y no se combinan por índice. El orden de combinación es A primero y B después, por lo que intercambiar las entradas puede cambiar el valor final de los campos en conflicto.
- Combina dos JSON en profundidad, conserva los campos exclusivos y combina los objetos anidados por niveles; la combinación profunda se puede desactivar
- Los campos con el mismo nombre admiten sobrescritura por el segundo valor, prioridad al primero o conservación del primero con recuento de conflictos
- Los arrays se procesan como valores completos y no se combinan por índice ni se concatenan automáticamente
- Después de combinar, muestra el número de campos en conflicto para facilitar la revisión de posibles sobrescrituras
- Admite texto y archivos JSON locales con un límite de 10 MB por archivo
- Todo el procesamiento se realiza localmente en el navegador y el contenido JSON no se sube al servidor