Creado sobre IA avanzada en tu dispositivo y aceleración por hardware para ofrecer un rendimiento profesional con privacidad absoluta.IA en tu dispositivo: profesional y privado.
Fusionador de objetos JSON
Fusiona JSON con estrategias profunda, de arrays y por clave
- Hasta 5 documentos
- 4 estrategias de arrays
- Informe de conflictos
Suelta archivos JSON aquí
JSON, JSONC, NDJSON y JSON Lines · hasta 5 archivos · nada sale de tu dispositivo
Profunda combina los objetos anidados clave a clave. Superficial los sustituye enteros.
Qué ocurre cuando dos arrays coinciden en la misma ruta.
JSON no tiene undefined, así que un null puede ser un valor o querer decir «borrar».
Original mantiene el orden base. A-Z da un diff estable.
NDJSON necesita un resultado de tipo array; esta fusión produjo un objeto.
Los archivos de configuración llevan habitualmente comentarios que un analizador estricto rechaza.
Cada documento escrito por separado con estos ajustes, en un único archivo comprimido.
Gratis: 5 documentos, 10 MB cada uno, 30 MB en total.
Cómo fusionar archivos JSON
- 1Añade tus documentosSuelta hasta cinco archivos .json, .jsonc, .jsonl o .ndjson, o pulsa Pegar JSON para escribir un documento. El orden importa: los documentos posteriores ganan cuando hay discrepancia, y las flechas de cada fila lo cambian.
- 2Elige cómo se combinan los objetosLa fusión profunda combina objetos anidados de forma recursiva. La superficial combina solo las claves de primer nivel y sustituye los objetos anidados enteros. Ajusta la política de nulos si un null explícito no debe borrar un valor existente.
- 3Elige cómo se combinan los arraysReemplazar conserva el último array, Concatenar los une, Unión los une y elimina duplicados, y Fusionar por clave combina los registros que comparten una clave como id.
- 4Fusiona y revisaPulsa Fusionar. El informe de conflictos enumera cada ruta donde un documento posterior sobrescribió un valor anterior, con ambos valores, y el informe de entradas muestra las claves duplicadas y los avisos de precisión de cada fuente.
- 5Descarga o copiaElige una sangría, o NDJSON cuando el resultado sea un array, y descarga o copia. Si cambias cualquier ajuste después, el resultado se marca como desactualizado hasta que lo vuelvas a aplicar.
Qué ofrece esta herramienta de fusión JSON
Fusiona hasta cinco documentos JSON en uno. Se combinan en el orden en que los pongas, así que los posteriores ganan cuando hay discrepancia, y las flechas de cada fila cambian ese orden. Funciona cualquier raíz JSON: objetos, arrays y primitivos por igual. Los objetos anidados pueden combinarse de forma recursiva o sustituirse enteros, los arrays tienen cuatro estrategias propias y cada valor sobrescrito queda anotado, de modo que el resultado es algo que puedes comprobar en lugar de creer.
- Cualquier número de documentos, en cualquier orden — Suelta archivos, pega texto o ambas cosas. Reordena las filas para cambiar qué documento gana. Cinco documentos en el plan gratuito, y el orden es la única garantía de prioridad de la herramienta.
- Profunda o superficial, y cuatro estrategias de arrays — Los objetos se combinan recursivamente o solo en el primer nivel. Los arrays se reemplazan, se concatenan, forman una unión sin duplicados o se fusionan registro a registro por un campo clave.
- Un informe de conflictos, no solo un resultado — Cada ruta donde un documento posterior sustituyó un valor anterior, con ambos valores y el documento que ganó. Ningún otro fusionador JSON online publica uno.
- Lee el JSON que realmente tienes — Comentarios y comas finales, NDJSON, UTF-16, marcas de orden de bytes. Cada uno es un archivo que un analizador estricto considera roto y que cualquier editor muestra como correcto.
Impulsado por algoritmos de procesamiento optimizados.
Fusión superficial frente a fusión profunda
Es la decisión que más cambia el resultado, y las dos respuestas son realmente distintas, no una mejor que la otra.
La fusión superficial combina solo el primer nivel. Si una clave existe en ambos documentos, el valor posterior sustituye por completo al anterior, y "por completo" incluye los objetos anidados: un objeto base con diez claves anidadas desaparece en cuanto un documento posterior menciona esa clave. La fusión profunda desciende por los objetos anidados y los combina clave a clave, de modo que una anulación solo toca las claves que nombra.
Fusionar {"server": {"host": "localhost", "port": 8080}} con {"server": {"port": 9090}} da {"server": {"port": 9090}} en fusión superficial (el host desaparece) y {"server": {"host": "localhost", "port": 9090}} en fusión profunda. Profunda es la opción por defecto aquí porque superponer configuraciones es para lo que se busca un fusionador, y es lo que hacen lodash.merge y todas las bibliotecas comparables.
Cómo se combinan los arrays
La fusión profunda no dice nada sobre los arrays: dos arrays no son dos objetos y no existe una única forma correcta de combinarlos. La mayoría de las bibliotecas elige un comportamiento en silencio y nunca lo menciona. Esta herramienta pregunta.
- Reemplazar — Gana el array posterior. Es lo que hace convencionalmente la fusión profunda y lo que hacen la mayoría de bibliotecas sin avisar. Es la opción por defecto aquí.
- Concatenar — Todos los elementos de ambos arrays, en orden, duplicados incluidos. Adecuado para registros, flujos de eventos y todo aquello donde cada entrada es un dato propio.
- Unión — Ambos arrays unidos y después sin duplicados, comparando la estructura y no la identidad: {"a":1,"b":2} y {"b":2,"a":1} cuentan como el mismo elemento.
- Fusionar por clave — Trata ambos arrays como conjuntos de registros y combina los que comparten un campo clave. Se explica aparte más abajo.
La estrategia de arrays se aplica allí donde se encuentran dos arrays, tanto en modo superficial como profundo. Dejarla inactiva en modo superficial supondría mantener en pantalla un control que en silencio no hace nada.
Fusionar registros por clave
Fusionar por clave es la estrategia que convierte dos arrays de registros en uno. Indica el campo clave (id por defecto) y los registros coincidentes se combinan campo a campo en lugar de que un array sustituya al otro.
- Los registros coincidentes se fusionan — Un registro de un documento posterior cuya clave coincide con uno anterior se fusiona con él usando las mismas reglas de objetos que en el resto, de modo que sus campos se añaden en lugar de sustituir el registro entero.
- Los registros nuevos se añaden — Un registro cuya clave todavía no existe se añade al final, manteniendo intacto el orden del documento anterior.
- Los registros sin la clave se dejan tal cual — Los elementos que no son objetos, o los objetos que no llevan el campo clave, se añaden sin tocarlos en lugar de intentar adivinar.
- El tipo forma parte de la clave — El número 1 y el texto "1" son registros distintos y no se unen. Tratarlos como iguales es el error clásico de las uniones y produce un resultado que parece perfectamente razonable y es incorrecto.
Qué ocurre con null
JSON no tiene undefined, así que null carga con dos significados a la vez: es un valor real y es la única forma de que una capa de configuración diga "borra lo que hubiera aquí". Ambas lecturas son legítimas y ninguna biblioteca puede saber cuál querías. Por defecto un null posterior sobrescribe, porque null es un valor. Cambia la política de nulos a Ignorar y un null de un documento posterior se omite por completo, de modo que nunca podrá borrar algo que fijó un documento base. El informe cuenta cuántos nulos se ignoraron, así que elegir mal se ve en lugar de pasar desapercibido.
El orden de las claves y por qué importa al comparar
Los objetos JSON no tienen un orden de claves formalmente definido, pero en la práctica todos los analizadores y serializadores conservan el orden en que se escribieron, lo que significa que ese orden aparece en el diff de tu control de versiones. Por defecto el resultado mantiene el orden del documento base y añade al final las claves nuevas de los documentos posteriores, de modo que una fusión produce el diff más pequeño posible. Ordena de la A a la Z cuando quieras una salida estable independientemente de cómo se escribieran las entradas, que es lo que conviene a un archivo que regeneran varias herramientas.
El informe de conflictos
Un fusionador que solo te da el archivo fusionado te está pidiendo que confíes en su palabra. Este anota cada lugar donde se perdió un valor.
Un conflicto es cualquier ruta donde un documento posterior sustituyó un valor anterior en lugar de fusionarse con él: un escalar sobre un escalar, un array sobre un array o un objeto sobre un objeto en modo superficial. El informe da la ruta, el valor sustituido, el valor que lo sustituyó y qué documento ganó. Los valores que se fusionaron en lugar de sustituirse no son conflictos, y tampoco lo es un documento posterior que escribe el mismo valor: ambos serían ruido. Junto a él, el informe de entradas enumera lo encontrado en cada documento de origen antes de empezar la fusión.
Claves duplicadas y precisión numérica
Dos cosas que todos los analizadores JSON descartan en silencio y que cambian lo que contiene tu archivo fusionado.
- Claves duplicadas — {"a": 1, "a": 2} es JSON válido y todos los analizadores conservan la última, descartando el hecho de que había dos. Si el duplicado fue un error, la fusión que auditas no es la fusión que escribiste. Cada documento indica cuántas claves duplicadas contenía y dónde.
- Números que no sobreviven al viaje de ida y vuelta — Los números de JavaScript son dobles IEEE-754 y llevan de 15 a 17 dígitos significativos. Un id de base de datos de 64 bits como 9007199254740993 se convierte en 9007199254740992 en todos los analizadores JSON de todos los navegadores, así que el archivo fusionado contiene un id distinto del de entrada. No hay solución dentro del modelo de datos de JSON, así que la herramienta lo indica en lugar de fingir lo contrario.
¿Por qué fusionar JSON?
Casi todas las fusiones de JSON son una de unas pocas tareas, y saber cuál estás haciendo suele decidir los ajustes.
- Superponer configuración — Una configuración base, luego las anulaciones de entorno y luego las locales. Fusión profunda, orden de claves original e Ignorar nulos si tus archivos de anulación usan null como comentario.
- Combinar respuestas de API — Varias respuestas en un objeto. Fusión profunda, y Fusionar por clave si las respuestas traen arrays de registros que deben alinearse por un id.
- Unir conjuntos de registros — Dos exportaciones de las mismas entidades con campos distintos. Fusionar por clave sobre el identificador común los convierte en un conjunto completo.
- Consolidar traducciones — Archivos de idioma repartidos entre equipos o funciones. Fusión profunda con orden A-Z da un archivo estable que se compara limpiamente en cada regeneración.
- Montar datos de prueba — Un fixture por defecto más anulaciones por caso, de modo que cada prueba declare solo lo que la hace diferente.
Opciones de un vistazo
- Modo de fusión — Profunda combina los objetos anidados de forma recursiva. Superficial combina solo las claves de primer nivel y sustituye enteros los objetos anidados.
- Arrays — Reemplazar, Concatenar, Unión (sin duplicados) o Fusionar por clave.
- Campo clave — Qué campo identifica un registro al Fusionar por clave. Por defecto id. Se compara por tipo además de por valor.
- Nulos — Sobrescribir, para que un null explícito sustituya un valor, o Ignorar, para que nunca borre ninguno.
- Orden de claves — Original mantiene el orden del documento base y añade las claves nuevas al final. A-Z ordena cada objeto para un diff estable.
- Sangría — Minificado, 2 espacios, 4 espacios o tabulador.
- Salida — JSON, o NDJSON cuando el resultado fusionado es un array.
- Aceptar comentarios y comas finales — Activado por defecto. Desactívalo para exigir JSON estricto a todos los documentos.
- Reiniciar — Borra todos los documentos, el resultado y todos los ajustes, volviendo a los valores por defecto.
Límites y planes
El plan gratuito admite cinco documentos, hasta 10 MB cada uno y 30 MB en total. El total es el límite que suele mandar, porque una fusión mantiene en memoria todas las entradas y el resultado a la vez. Todos los controles que deciden si la fusión es correcta son gratuitos: ambos modos, las cuatro estrategias de arrays, el campo clave, la política de nulos, el orden de claves, las cuatro sangrias, ambos formatos de salida y ambos informes. Pro solo amplía la escala: más documentos, el límite de tu propio dispositivo en lugar de un tope fijo y un lote entregado como un único archivo comprimido.
Preguntas frecuentes
¿Cómo funciona la herramienta de fusión JSON?
Añade hasta cinco documentos JSON soltando archivos o pegando texto, elige si los objetos se fusionan en profundidad o solo en el primer nivel y cómo deben combinarse los arrays, y pulsa Fusionar. Los documentos se combinan en el orden de la lista, así que los posteriores ganan cuando hay discrepancia, y puedes copiar o descargar el resultado o revisar exactamente qué se sobrescribió.
¿Están seguros mis datos?
Sí. Cada documento se lee, se fusiona y se escribe en tu propio dispositivo, y nada se sube, se almacena ni se registra. Una vez cargada la página la herramienta sigue funcionando sin conexión, lo que la hace segura para archivos de configuración, credenciales y datos privados.
¿Cuál es la diferencia entre fusión superficial y profunda?
La fusión superficial combina solo las claves de primer nivel: cuando una clave existe en ambos documentos, el valor posterior sustituye por completo al anterior, objetos anidados incluidos. La fusión profunda desciende por los objetos anidados y los combina clave a clave, de modo que puedes superponer ajustes sobre una configuración base sin perder claves anidadas no relacionadas.
¿Puedo fusionar arrays JSON, no solo objetos?
Sí. Funciona cualquier raíz JSON (objetos, arrays, textos, números, booleanos y null) y cuatro estrategias deciden qué ocurre cuando se encuentran dos arrays. Reemplazar conserva el array posterior, Concatenar los une uno tras otro, Unión los une y elimina duplicados sin importar el orden de las claves, y Fusionar por clave combina los registros que comparten un campo como id.
¿Cómo fusiono arrays de registros por un id?
Elige Fusionar por clave e indica el campo clave, que por defecto es id. Los registros del documento posterior que coinciden con una clave del anterior se fusionan campo a campo, los que traen una clave nueva se añaden al final y los que no tienen la clave se añaden sin tocarlos. Las claves se comparan también por tipo, así que el número 1 y el texto "1" siguen siendo registros distintos.
¿Cómo se resuelven los conflictos de claves y el orden de sobrescritura?
Los documentos se fusionan en el orden mostrado, así que uno posterior siempre gana el conflicto, y las flechas de cada fila cambian ese orden. Cada sobrescritura queda registrada: el informe de conflictos indica la ruta, el valor sustituido, el valor que lo sustituyó y qué documento ganó, de modo que una fusión es algo que puedes auditar y no solo aceptar.
¿Qué ocurre con los valores null?
Por defecto un null explícito en un documento posterior sobrescribe lo que hubiera antes, porque null es un valor JSON real. JSON no tiene undefined, así que null es también la única forma de que una capa de configuración diga "borra esto": si no es lo que quieres, cambia la política de nulos a Ignorar y un null nunca borrará un valor ya presente.
¿Lee archivos con comentarios o comas finales?
Sí. Archivos de configuración como tsconfig.json o .eslintrc.json llevan habitualmente comentarios de línea y de bloque y comas finales, que JSON.parse rechaza de plano. La herramienta los reconoce, indica cuántos ha encontrado y fusiona el archivo igualmente. También lee NDJSON y JSON Lines como un array y elimina las marcas de orden de bytes que añaden los editores de Windows.
¿Qué requisitos tienen las entradas y qué pasa si el JSON no es válido?
Se acepta cualquier documento JSON válido, en cualquier codificación con marca de orden de bytes, hasta 10 MB por archivo y 30 MB en total en el plan gratuito. Si un documento no se puede analizar, la fila muestra la línea, la columna y la línea afectada con un cursor bajo el problema, además de enlaces al Formateador y al Validador JSON para corregirlo y volver a fusionar.
¿Es gratis y funciona en móvil y sin conexión?
Sí, el fusionador es gratuito. Todos los controles que deciden si la fusión es correcta (ambos modos, las cuatro estrategias de arrays, el campo clave, la política de nulos, el orden de claves, las cuatro sangrías y ambos formatos de salida) son gratuitos, y funciona en móviles y tabletas. Sigue funcionando sin conexión una vez cargado, y Pro solo amplía la escala: más documentos, el límite de tu propio dispositivo en lugar de un tope fijo y un lote entregado como un único archivo comprimido.
de 70 valoraciones
Valora esta herramienta
Toca una estrella — es un segundo
Comentarios, comas finales, NDJSON y marcas de orden de bytes
El JSON estricto y el JSON que la gente tiene realmente en disco no son lo mismo. Cuatro diferencias explican casi todos los archivos que "son válidos en todas partes menos en mi programa".