Ferramentas JSON

Mesclar JSONdecida quais valores ficam

Defina a profundidade, a prioridade e a regra dos arrays; revise o resultado antes de exportar.

Mesclar JSON

JSON à esquerda

JSON à direita

Prévia do resultado mesclado

O editor exibe uma prévia limitada. A cópia e o download incluem todo o resultado aceito.

Os dois documentos ficam na memória do navegador; as entradas não são enviadas nem salvas.

O modo profundo combina objetos aninhados. O superficial reúne campos da raiz, mas escolhe objetos internos inteiros; arrays correspondentes ainda seguem a estratégia de arrays. Null é um valor, nunca uma exclusão.

A concatenação mantém todos os itens, primeiro da esquerda e depois da direita. Por chave, mantém a ordem esquerda e acrescenta IDs exclusivos da direita; registros correspondentes são combinados no modo profundo ou escolhidos inteiros no superficial.

O resultado está desatualizado; copiar e baixar estão desativados.

Mesclar JSON ajuda a reunir configurações ou respostas de APIs sem esconder decisões sobre campos sobrepostos. Substituir um objeto inteiro pode eliminar campos exclusivos dele; percorrer sua estrutura permite preservar esses campos. A lista de conflitos mostra onde foi necessário escolher um valor.

A mesclagem profunda JSON combina objetos aninhados campo a campo. No modo superficial, um objeto interno é escolhido por inteiro. Os arrays têm uma regra própria, que continua valendo nos dois modos; escolha a estratégia antes de reutilizar o resultado.

Por que usar Mesclar JSON?

Veja o que uma substituição descarta

Mesclar JSON mostra o ponto em que um valor foi escolhido. A substituição de um objeto ou array gera um conflito no contêiner; a combinação recursiva mostra apenas os descendentes em conflito. Valores iguais e campos presentes em apenas um lado não contam como conflitos.

Duas árvores de configuração comparam a substituição de um ramo inteiro com uma combinação recursiva que preserva folhas distintas.

Relacione IDs às origens corretas

Mesclar JSON permite alinhar registros por chave sem arredondar suas identidades numéricas. Os caminhos nas origens esquerda e direita ficam separados do caminho final: um registro em índices diferentes continua apontando para o valor original correto.

Marcadores de identidade conectam registros em posições distintas a um resultado que mantém a ordem esquerda e acrescenta um novo registro.

Escolha a regra antes de combinar

01

Separe profundidade e tratamento de arrays

O modo superficial reúne campos da raiz, mas escolhe cada objeto interno em colisão por inteiro. Arrays correspondentes ainda podem ser substituídos, concatenados ou combinados por chave. O modo profundo percorre objetos; a estratégia dos arrays permanece independente.

02

Confira os IDs antes de combinar por chave

A chave é o nome não vazio de uma propriedade direta, não uma expressão de caminho. Todo registro em um array correspondente precisa de um ID único, string ou número. Um ID ausente ou dois IDs numéricos matematicamente iguais no mesmo array impedem a operação inteira.

03

Leia os caminhos antes de reutilizar a saída

Use Ctrl/Cmd+Enter para executar. Confira os caminhos das duas origens e copie a saída completa. Para incluir outro documento, visualize o resultado como entrada esquerda e aplique; Desfazer restaura as duas fontes, as opções e a saída anterior.

Controle colisões e ordem dos itens

Duas profundidades de mesclagem

Mesclar JSON no modo profundo preserva campos exclusivos ao longo dos objetos correspondentes. O superficial preserva campos exclusivos da raiz, mas escolhe um objeto interno inteiro quando há colisão. Arrays ainda podem ser combinados no modo superficial: essa é uma regra explícita desta ferramenta.

Três regras independentes para arrays

Substituir escolhe o array completo do lado preferido. Ao concatenar arrays, a sequência direita vem depois da esquerda, inclusive com repetições. Por chave, os registros mantêm a ordem esquerda e IDs novos da direita são acrescentados; a prioridade não inverte essas sequências.

Números exatos e chaves literais

Nenhum número passa por conversão de ponto flutuante. IDs numéricos são comparados por valor matemático, mesmo com expoentes enormes; a saída preserva a grafia escolhida. Chaves mantêm a ordem de origem, inclusive nomes vazios, semelhantes a números e __proto__.

Conflitos com origem rastreável

Cada conflito de chaves inclui um Pointer no resultado e dois Pointers de origem independentes. Os valores têm prévias com limites explícitos. Substituir um contêiner gera uma decisão, sem fingir que cada descendente foi combinado. A saída completa fica separada desse relatório.

Regras definidas, sem inferências ocultas

Mesclagem própria, não um padrão de patch
Null continua sendo um valor e nunca remove uma chave. Qualquer raiz JSON válida é aceita. Tipos diferentes são escolhidos inteiros conforme a prioridade. A ferramenta não gera nem executa RFC 7396 Merge Patch ou RFC 6902 JSON Patch e não envolve conflitos em arrays.
Limites de entrada e saída
Cada entrada e a saída formatada aceitam até 500.000 caracteres, 50.000 nós e profundidade 100. Cada número pode ter até 1.000 caracteres. Comentários, vírgulas finais, BOM e chaves repetidas falham. A saída é validada novamente; não há download de sucesso parcial.
Identidades ambíguas são rejeitadas
O nome do ID deve ser direto e não vazio. Só arrays correspondentes efetivamente combinados são validados, inclusive quando um deles está vazio. Arrays de apenas um lado são copiados. Cada item verificado deve ser objeto com ID único, string ou número; null, ausência ou repetição invalidam a operação.
Igualdade e contagem têm regras próprias
A igualdade ignora a ordem de chaves dos objetos, mas considera a ordem dos arrays. 1, 1.0 e 1e0 são iguais, assim como -0 e 0; strings não são números. Valores atômicos iguais mantêm o token original preferido. Registros por chave são escolhidos inteiros no modo superficial e combinados no profundo.
Orçamentos e operações fora do escopo
O máximo é 5.000 conflitos. Caminhos percorridos e prévias salvas têm, cada um, orçamento acumulado de 2.000.000 de caracteres; caminhos sem conflito também contam. Não há combinação por índice, deduplicação, expressão de ID aninhada, importação de arquivo, busca por URL, ordenação automática ou edição de conflitos individuais. São dois documentos colados por vez.

Dúvidas sobre Mesclar JSON

Como combinar dois objetos JSON com estruturas aninhadas?

Em Mesclar JSON, escolha o modo profundo para reunir campos dentro de objetos correspondentes, preservando os exclusivos de cada lado. O modo superficial escolhe objetos internos inteiros pela prioridade. Nos dois casos, arrays correspondentes seguem a regra selecionada para arrays.

Como escolher a estratégia para mesclar arrays?

Use Substituir quando um lado contém a lista completa desejada. Concatenar mantém todos os itens da esquerda e depois da direita, inclusive repetidos. Por chave alinha objetos por um campo de ID direto, string ou número, único em cada array; dados ambíguos fazem a operação falhar.

Qual entrada tem prioridade quando uma chave possui valores diferentes?

A direita tem prioridade por padrão; selecione a esquerda para inverter essa escolha. A prioridade resolve valores desiguais que precisam ser escolhidos inteiros. Ela não muda a direção da concatenação nem a ordem dos registros combinados por chave.

Os dados inseridos são transmitidos para algum servidor?

Não. O processamento acontece na memória do navegador, sem envio nem persistência das entradas. Copiar e baixar são ações explícitas. Ao recarregar a página, você começa pelo exemplo; salve o resultado completo antes de sair se precisar dele.

Quais são os limites das operações disponíveis nesta ferramenta?

A ferramenta combina duas entradas por vez, com até 500.000 caracteres e 50.000 nós por documento, profundidade 100 e números de até 1.000 caracteres. Aceita no máximo 5.000 conflitos e orçamentos separados de 2.000.000 de caracteres para caminhos e prévias. Não importa arquivos, executa patches ou combina arrays por índice; exceder qualquer orçamento impede a saída parcial.

Encontrou uma decisão de mesclagem inesperada?

Revise a próxima colisão

Experimente Mesclar JSON com o exemplo, escolha a correspondência por chave e compare os caminhos de origem antes de exportar o resultado completo.