Diff e comparação de JSON
Compare dois documentos JSON e destaque os caminhos de chave adicionados, removidos e alterados.
Diff e comparação de JSON — Cole 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
- Cole o JSON original na caixa Esquerda (original).
- Cole o JSON que você quer comparar na caixa Direita (alterado).
- Leia o diff no bloco de Resultado, onde cada linha mostra o caminho e o valor alterados.
- Use a configuração de Estilo para alternar entre os símbolos + / - / ~ e as palavras adicionado / removido / alterado.
- 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
Codificar / decodificar Base32 / Base58
Codifique texto em Base32 (RFC 4648) ou Base58 (o alfabeto do Bitcoin) e decodifique qualquer um de volta para texto, totalmente seguro em UTF-8 e inteiramente no seu navegador.
Codificar / decodificar Base64
Codifique ou decodifique Base64 (compatível com UTF-8) com alfabeto URL-safe, preenchimento opcional, quebra de linha 64/76, contagem de bytes e caracteres em tempo real e vista de bytes em hex ou binário.
Conversor de maiúsculas/minúsculas e contador
Converta texto entre UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case e mais, e conte caracteres, palavras e linhas.
Formatador e minificador de código
Embeleze ou minifique HTML, CSS e JavaScript instantaneamente no seu navegador, com indentação de 2 espaços, 4 espaços ou tabulação e compressão de JavaScript com Terser.