O que é comparar JSON?
Um diff de texto comum mostra muitas mudanças mesmo quando só a formatação, o recuo ou a ordem das chaves são diferentes. Esta ferramenta primeiro interpreta os dois lados como JSON e lista apenas os dados que realmente mudaram, por exemplo a resposta de uma API antes e depois de uma versão, ou a configuração de dois ambientes.
Como usar
- Cole o JSON original à esquerda e o alterado à direita. Com "Comparar ao digitar" ativado, as diferenças aparecem na hora.
- Cada diferença mostra o tipo (adicionado, removido, alterado) e o caminho JSON, como
$.order.items[0].price. - Clique em uma diferença para destacá-la nos dois lados. "Copiar relatório" copia uma versão em texto para um pull request ou documento.
Como a comparação funciona
- Objetos pela chave: uma ordem diferente das chaves não é uma diferença.
- Arrays pela posição: o primeiro item é comparado com o primeiro, então uma ordem diferente aparece como alterações.
- Números pelo valor:
1.0é igual a1e1e2é igual a100, e números grandes mantêm toda a precisão. Desative a opção para comparar o texto exato. - Strings pelo conteúdo:
"中"é igual a"中".
Exemplo
Original {"name":"Keyboard","price":980.00,"tags":["office","usb"]}, alterado {"price":980,"name":"Keyboard Pro","tags":["office","bluetooth"],"color":"black"}. O relatório é:
~ $.name: "Keyboard" → "Keyboard Pro" ~ $.tags[1]: "usb" → "bluetooth" + $.color: "black"
price passou de 980.00 para 980, que é o mesmo valor, então não aparece.
Perguntas frequentes
O que significam +, - e ~ no relatório?
+ é um campo adicionado à direita, - é um campo removido à direita e ~ é um campo presente nos dois lados com valores diferentes: o valor original fica à esquerda da seta e o novo, à direita.
Por que um array reordenado mostra muitas diferenças?
Em JSON, arrays têm ordem: [1, 2] e [2, 1] são dados diferentes, então cada posição é comparada. Se a ordem não importa, ordene o array no programa que gera o JSON antes de comparar.
E se um dos lados não for um JSON válido?
A mensagem diz qual lado está errado e informa a linha e a coluna; clique em "Ir para o erro" para encontrá-lo. Vírgulas faltando ou sobrando podem ser corrigidas com "Reparar" no formatador JSON.