Entrada (Array de objetos JSON)

Saída mesclada

O que é Mesclar JSON?

Você tem um default.json e um production.json que sobrescreve apenas algumas configurações — e precisa de um único resultado mesclado. É exatamente para isso que esta ferramenta serve. Mesclar JSON significa combinar dois ou mais objetos em um. Na mesclagem superficial, objetos posteriores sobrescrevem os anteriores para chaves compartilhadas. Na mesclagem profunda (seguindo padrões como Object.assign), objetos aninhados são combinados recursivamente em vez de serem completamente substituídos.

Esta ferramenta espera um array JSON de objetos. Ela os mescla em ordem usando modo superficial ou profundo. O resultado é um único objeto. O processamento ocorre no seu navegador.

Como usar esta ferramenta

1

Inserir array JSON

Cole um array JSON de objetos, ex. [{"a": 1}, {"b": 2}, {"a": 3}]. A ordem importa: objetos posteriores sobrescrevem os anteriores para chaves em conflito. Use Profundo ou Superficial para escolher o comportamento da mesclagem.

2

Verificar a saída

O painel direito mostra o objeto mesclado. No modo superficial, {"a": 1, "b": 2} mesclado com {"a": 3} resulta em {"a": 3, "b": 2}. No modo profundo, objetos aninhados são mesclados recursivamente.

3

Copiar ou baixar

Use Copiar ou Baixar para obter o resultado. Para formatação, use o Formatador JSON. Para validação, use o Validador JSON.

Onde Mesclar JSON ajuda

Mesclar arquivos de configuração é um caso de uso comum. Você tem default.json e production.json; quer mesclá-los para que production sobrescreva apenas as chaves necessárias. A mesclagem profunda combina padrões aninhados recursivamente. Para respostas de API de múltiplas fontes, ou ao construir objetos a partir de um modelo base com sobrescritas específicas do ambiente, a mesclagem fornece um único objeto combinado. O Formatador JSON ajuda a formatar o resultado para legibilidade.

Exemplos de Mesclar JSON

Aqui está um exemplo de mesclar dois objetos de configuração de assinante. Objetos posteriores sobrescrevem os anteriores para chaves em conflito.

Exemplo: Mesclar configurações de assinante

Entrada (array de objetos a mesclar):

Entrada

Saída mesclada:

Saída

Mesclagem superficial vs profunda

Mesclagem superficial: se ambos os objetos têm uma chave, o valor do objeto posterior substitui completamente o anterior. Objetos aninhados não são mesclados; são substituídos. Mesclagem profunda: objetos aninhados são mesclados recursivamente. Assim {"a": {"b": 1}} mesclado com {"a": {"c": 2}} resulta em {"a": {"b": 1, "c": 2}} no modo profundo, mas {"a": {"c": 2}} no modo superficial. O Object.assign do JavaScript faz mesclagem superficial. Bibliotecas como Lodash merge fazem mesclagens profundas.

A especificação JSON define objetos como coleções não ordenadas de pares chave-valor. A ordem da mesclagem importa: valores posteriores sobrescrevem os anteriores. Para respostas de API de Postman ou fetch, mesclar configurações ou combinar padrões com sobrescritas é comum. O padrão formal é RFC 8259. O guia JSON do MDN cobre parsing e serialização.

Perguntas frequentes

Como mesclo dois objetos JSON em JavaScript?

Para mesclagem superficial, use o operador spread: {...objA, ...objB} ou Object.assign({}, objA, objB). Para mesclagem profunda, use uma biblioteca como Lodash _.merge(). Esta ferramenta lida com ambos os casos sem código.

Qual é a diferença entre mesclagem profunda e superficial?

Na mesclagem superficial, se ambos os objetos têm a mesma chave, o valor do objeto posterior substitui completamente o anterior — incluindo objetos aninhados. Na mesclagem profunda, objetos aninhados são combinados recursivamente. Assim {"a": {"b": 1}} mesclado profundamente com {"a": {"c": 2}} resulta em {"a": {"b": 1, "c": 2}} — ambas as chaves sobrevivem.

Como mesclo arquivos de configuração JSON com sobrescritas?

Cole suas configurações como um array JSON com os padrões primeiro e as sobrescritas por último: [defaultConfig, productionConfig]. Use mesclagem profunda se suas configurações têm objetos aninhados.

Como arrays dentro de objetos JSON são tratados durante a mesclagem?

Arrays são substituídos, não concatenados. Se o objeto A tem "items": [1, 2] e o objeto B tem "items": [3], o resultado tem "items": [3].

Meus dados são enviados a um servidor?

Não. A mesclagem é executada completamente no seu navegador. Seu JSON nunca sai do seu dispositivo.

Ferramentas relacionadas

Para sintaxe JSON, consulte json.org e RFC 8259. Para mesclagem em JavaScript, consulte MDN Object.assign e sintaxe spread. Para mesclagem profunda em Lodash, consulte a função merge. Para visão geral MDN JSON. Consulte também jq e Postman.