JSON Diff
Cole dois documentos JSON e veja o que foi adicionado ou removido, linha por linha. As chaves dos objetos são ordenadas primeiro, então um objeto reordenado não conta como uma mudança. Tudo roda no seu navegador, então seus dados nunca são enviados.
Como comparar JSON
- Cole o JSON original na caixa da esquerda.
- Cole o JSON alterado na caixa da direita.
- Leia as adições e remoções destacadas abaixo.
Sobre comparar JSON
Comparar JSON a olho nu é propenso a erros, especialmente quando as chaves são reordenadas ou os documentos são grandes. Um diff semântico normaliza ambos os lados — ordenando as chaves dos objetos enquanto preserva a ordem dos arrays — e então destaca apenas as linhas que realmente diferem, para que você veja mudanças reais em vez de ruído de formatação.
Isso é útil para revisar respostas de API, mudanças de configuração e saídas de testes de snapshot. Tudo é calculado no seu navegador, então os dados que você compara — que muitas vezes contêm registros reais — nunca saem do seu dispositivo.
Use a ferramenta de comparação de arquivos (diff) sempre que houver divergências entre dois ambientes e as configurações forem supostamente idênticas — os arquivos de configuração dos ambientes de teste e produção são um exemplo clássico. Ela também é útil para verificar suas próprias edições: após fazer ajustes manuais em um documento extenso, a comparação de arquivos confirma que você alterou exatamente os campos que pretendia e nada mais. E, quando uma atualização de API causa problemas em um cliente, comparar as respostas de cada versão permite identificar rapidamente o campo que foi renomeado ou removido.
O comportamento de classificar chaves, mas não arrays, reflete a própria especificação JSON. Um objeto é definido como uma coleção não ordenada — dois objetos com os mesmos membros têm o mesmo valor, independentemente da ordem em que um serializador os gravou. Arrays, por outro lado, são ordenados por definição: trocar dois elementos produz um documento genuinamente diferente. Normalizar um e não o outro é o que diferencia uma comparação semântica de uma simples comparação de texto.
Perguntas frequentes
Como comparo dois arquivos JSON?
Cole o original à esquerda e a versão alterada à direita. As linhas adicionadas são destacadas em verde, as removidas em vermelho, com uma contagem de cada.
A ordem das chaves importa?
Não. Ambos os lados são re-serializados com as chaves ordenadas antes da comparação, então reordenar as mesmas chaves não mostra nenhuma diferença — apenas mudanças reais de valor ou estrutura aparecem.
E se meu JSON for inválido?
A ferramenta informa qual lado falhou ao analisar e por quê, para que você possa corrigi-lo antes de comparar.
Meus dados são enviados?
Não. A comparação roda inteiramente no seu navegador; nada é enviado para um servidor.
Por que valores que parecem idênticos são exibidos como tendo sido alterados?
Normalmente, trata-se de uma diferença de tipo. A string "1" e o número 1 são exibidos de forma quase idêntica, mas representam valores JSON diferentes, e o mesmo ocorre com "true" e o valor booleano `true`, ou "null" e o valor nulo `null`. Isso costuma causar problemas com dados exportados de planilhas ou campos de formulário, onde tudo é recebido como uma string. A diferença mostra a verdade: verifique as aspas em torno do valor alterado.