Mesclar JSON
Combinar vários objetos JSON em um
Entrada (Array de objetos JSON)
Saída mesclada
O que é Mesclar JSON?
Mesclar JSON significa combinar dois ou mais objetos em um. Em uma mesclagem superficial, objetos posteriores sobrescrevem os anteriores para chaves que existem em ambos. Em uma mesclagem profunda, objetos aninhados são mesclados recursivamente em vez de serem substituídos. Isso é útil ao mesclar arquivos de configuração, combinar respostas de API ou construir objetos a partir de padrões e sobrescritas.
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
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.
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.
Copiar ou baixar
Use <strong>Copiar</strong> ou <strong>Baixar</strong> 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 <code>default.json</code> e <code>production.json</code>; 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):
Saída mesclada:
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
E se eu tiver dois objetos separados, não um array?
Envolva-os em um array: [{"a": 1}, {"b": 2}]. A ferramenta espera um array de objetos.
Como os arrays são tratados?
Na maioria das implementações de 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 normalmente tem "items": [3]. Verifique a saída da ferramenta para confirmar.
Meus dados são enviados para algum lugar?
Não. A mesclagem ocorre no seu navegador.
Posso mesclar arquivos de configuração?
Sim. Cole cada configuração como objeto no array, com padrões primeiro e sobrescritas por último. A mesclagem profunda geralmente é melhor para estruturas de configuração aninhadas.
E chaves duplicadas no mesmo objeto?
Objetos JSON não podem ter chaves duplicadas. Se você tiver, o parser manterá apenas uma. Valide primeiro com o Validador JSON.
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.