Guia da ferramenta
Sobre Comparador de JSON
Uma ferramenta de JSON Diff compara dois documentos pela estrutura em vez de pelo texto, então você enxerga o que mudou nos dados e não na formatação.
Cole o JSON original de um lado e o JSON modificado do outro, e a comparação se atualiza na hora em uma tabela de valores adicionados, removidos e alterados, com o caminho de cada um.
Como usar a ferramenta JSON Diff
- Cole o documento original na primeira entrada e o documento alterado na segunda.
- Leia os contadores de resumo no topo, exibidos como +N -N ~N, para dimensionar a mudança.
- Percorra a tabela de resultados: tipo de mudança, caminho, valor antes, valor depois.
- Siga um caminho como a.b[2] de volta até o arquivo de origem; as chaves se unem por pontos e os arrays usam um índice.
Quando usar
- Comparar a configuração entre dois ambientes, por exemplo um arquivo JSON de homologação contra o de produção.
- Revisar como a resposta de uma API mudou entre duas versões de um serviço antes de depender do novo formato.
- Investigar o que realmente se moveu dentro de um package-lock.json ou de outro manifesto de dependências gerado automaticamente.
- Conferir o que uma ferramenta alterou depois de reserializar um arquivo de infraestrutura como código ou um manifesto do Kubernetes.
Como os caminhos e os tipos de mudança são reportados
Cada linha aponta para um único local no documento, escrito da mesma forma que você leria o valor em código, para facilitar a busca no arquivo de origem.
- Adicionado: o caminho existe apenas no documento alterado, e a coluna de valor depois mostra o novo conteúdo.
- Removido: o caminho existe apenas no original, e a coluna de valor antes mostra o que havia ali.
- Alterado: o caminho existe dos dois lados com valores diferentes, então as duas colunas ficam preenchidas.
- Um caminho como a.b[2] significa a chave b dentro do objeto a e, em seguida, o elemento de índice 2 daquele array.
Perguntas frequentes sobre Comparar JSON
- Por que reformatar o arquivo não produz nenhuma diferença?
- Porque os dois lados são analisados antes. Indentação, ordem das chaves e finais de linha não fazem parte da estrutura analisada, então nunca aparecem como diferenças.
- Por que inserir um elemento no array marca tudo depois dele como alterado?
- Os arrays são comparados por índice. Uma inserção desloca todos os elementos seguintes para uma nova posição, então cada posição deslocada é reportada como mudança. Isso é inerente à comparação posicional, não um defeito.
- O que acontece se um dos lados não for JSON válido?
- As duas entradas precisam ser analisadas com sucesso. Se qualquer um dos lados estiver malformado, um erro de análise é exibido no lugar da comparação.
- O que aparece quando os dois documentos são iguais?
- A ferramenta declara explicitamente que não há diferenças estruturais, em vez de deixar um resultado vazio que poderia parecer uma falha.
- Meus dados são enviados para algum lugar?
- Não. A análise e a comparação rodam localmente no seu navegador usando a biblioteca microdiff, então nada do que você cola é enviado para wetool.site nem para qualquer outro servidor.
JSON diff x diff de texto puro
Um diff de texto compara linhas de caracteres, então chaves reordenadas, uma troca de dois espaços por quatro ou finais de linha diferentes aparecem todos como diferenças mesmo com os dados idênticos, e as edições reais acabam soterradas nesse ruído. Um JSON diff analisa os dois documentos antes e reporta apenas diferenças semânticas, ignorando ordem de chaves e formatação. Use um diff de texto quando os bytes exatos importam, e este aqui quando só os dados importam.
Ler os resultados sem se enganar
A comparação estrutural responde com precisão a uma pergunta bem estreita, então ajuda saber o que a tabela diz e o que ela não diz.
- Uma lista longa de mudanças concentrada em um único array em geral indica uma inserção isolada ou um reordenamento, e não muitas edições independentes.
- Os tipos importam: a string 1 e o número 1 são valores distintos e são reportados como uma mudança.