Como comparar JSON
- Cole o JSON original à esquerda e o JSON alterado à direita, ou arraste um arquivo para cada lado.
- Leia o resumo e a lista de diferenças: cada valor adicionado, removido ou alterado aparece com seu caminho, por exemplo
$.users[2].email. - Role para baixo até a visualização lado a lado para ver as alterações no contexto. Marque Ignorar a ordem dos arrays se a ordem dos itens da lista não importar.
Diff semântico de JSON em vez de diff de texto
Um diff de texto simples aponta uma alteração sempre que uma chave muda de lugar, a indentação é diferente ou um número é escrito de outra forma. Este diff de JSON compara os próprios dados:
- A ordem das chaves é ignorada –
{"a":1,"b":2}é igual a{"b":2,"a":1}. - A formatação é ignorada – espaços, quebras de linha e indentação não fazem diferença.
- Números são comparados pelo valor –
1.0é igual a1. - Arrays são alinhados – inserir um item não marca todos os itens seguintes como alterados, e objetos modificados são pareados com o equivalente mais parecido.
- Ignorar a ordem dos arrays – compara arrays como coleções sem ordem, útil para listas de tags, IDs ou permissões.
Como interpretar os resultados
| Rótulo | Significado | O caminho aponta para |
|---|---|---|
| Adicionado | O valor existe apenas no JSON alterado | sua posição no JSON alterado |
| Removido | O valor existe apenas no JSON original | sua posição no JSON original |
| Alterado | Os dois documentos têm a chave, mas com valor ou tipo diferente | sua posição no JSON alterado |
Na visualização lado a lado, os dois documentos são formatados com as chaves ordenadas para que as linhas correspondentes fiquem frente a frente; trechos longos sem alteração ficam recolhidos, a menos que você desmarque Ocultar linhas sem alteração.
Perguntas frequentes
A ordem das chaves importa?
Não. Objetos JSON não têm ordem por definição, então a comparação ignora a ordem das chaves. Já os arrays são ordenados, a menos que você marque Ignorar a ordem dos arrays.
Posso comparar arquivos JSON grandes?
Sim. A comparação roda no seu navegador e lista as primeiras 200 diferenças, com um botão para mostrar todas; a visualização lado a lado exibe até 5.000 linhas.
Como comparar JSON no código?
Em Python, json.loads(a) == json.loads(b) testa a igualdade. O JavaScript não tem comparação profunda nativa; bibliotecas como Lodash oferecem _.isEqual(a, b). Na linha de comando, diff <(jq -S . a.json) <(jq -S . b.json) mostra as linhas diferentes.
Meus dados são enviados para algum servidor?
Não. Os dois documentos são comparados localmente no seu navegador e nunca saem do seu dispositivo.