Diff e comparação de JSON

Compare dois documentos JSON e destaque os caminhos de chave adicionados, removidos e alterados.

Carregando ferramenta…

Diff e comparação de JSONCole dois documentos JSON lado a lado e esta ferramenta faz uma comparação estrutural, chave por chave, em vez de um simples diff por linhas, de modo que reordenar chaves ou espaços nunca gera alterações falsas. Cada diferença é informada pelo seu caminho exato, como user.name ou items[0], e rotulada como adicionada, removida ou alterada. Tudo é analisado e comparado totalmente no seu navegador, então seus dados nunca saem do seu dispositivo.

O que é Diff e comparação de JSON?

O JSON Diff é uma ferramenta gratuita que roda no navegador e encontra as diferenças semânticas entre dois valores JSON. Em vez de comparar o texto linha por linha, ele percorre as duas árvores e combina chaves por nome e itens de array por índice, informando cada alteração com um caminho pontilhado como config.server.port ou list[2]. Desenvolvedores de backend e de API a usam para ver exatamente o que mudou entre duas respostas de API, arquivos de configuração ou dados de teste, enquanto engenheiros de QA e analistas de dados a usam para confirmar que uma transformação ou migração produziu o resultado esperado. Escolha o estilo Símbolos para ler as alterações como linhas + / - / ~, ou o estilo Palavras para rotulá-las como adicionado, removido e alterado. O botão Trocar inverte as entradas esquerda e direita para que você veja o diff em qualquer direção.

Como usar Diff e comparação de JSON

  1. Cole o JSON original na caixa Esquerda (original).
  2. Cole o JSON que você quer comparar na caixa Direita (alterado).
  3. Leia o diff no bloco de Resultado, onde cada linha mostra o caminho e o valor alterados.
  4. Use a configuração de Estilo para alternar entre os símbolos + / - / ~ e as palavras adicionado / removido / alterado.
  5. Clique em Trocar para inverter os dois lados, ou em Copiar para obter o relatório completo de diferenças.

Exemplos

Um único valor mudou

Entrada

Esquerda: {"name":"Ada","age":30}
Direita: {"name":"Ada","age":31}

Saída

~ age: 30 -> 31

Uma chave adicionada e outra removida

Entrada

Esquerda: {"a":1,"b":2}
Direita: {"a":1,"c":3}

Saída

- b: 2
+ c: 3

Chaves reordenadas são idênticas

Entrada

Esquerda: {"x":1,"y":2}
Direita: {"y":2,"x":1}

Saída

Sem diferenças - os dois documentos são iguais.

Perguntas frequentes

Meu JSON é enviado para um servidor?
Não. Ambos os documentos são analisados e comparados totalmente no seu navegador com uma rotina de comparação profunda que roda no seu dispositivo. Nada é enviado, e a ferramenta continua funcionando offline.
Como isso difere de um diff de texto comum?
Um diff de texto compara linhas, então reformatar ou reordenar chaves parece uma alteração. Esta ferramenta compara a estrutura analisada, combinando chaves de objeto por nome e itens de array por posição, de modo que apenas as diferenças semânticas reais são informadas.
A ordem das chaves importa?
Não. Dois objetos com as mesmas chaves e valores são tratados como iguais, independentemente da ordem em que as chaves aparecem. Os elementos de array, porém, são comparados por índice, então reordenar um array conta como alteração.
O que cada linha significa?
Caminhos adicionados existem apenas à direita, caminhos removidos apenas à esquerda, e caminhos alterados têm valores diferentes em cada lado. No estilo Símbolos, eles aparecem como +, - e ~; no estilo Palavras, são escritos por extenso.
O que acontece se meu JSON for inválido?
Se algum dos lados falhar na análise, uma nota de erro indica qual lado (esquerdo ou direito) está inválido para que você possa corrigi-lo. O diff é atualizado automaticamente assim que os dois lados forem analisados corretamente.

Ferramentas relacionadas