JSON Compare
Compare dois documentos JSON e veja cada valor adicionado, removido e alterado.
Original (esquerda)
Alterado (direita)
Diferenças
Digite JSON dos dois lados para compará-los.
O que é JSON Compare?
O JSON Compare é uma ferramenta de diff estrutural que recebe dois documentos JSON e relata exatamente quais valores foram adicionados, removidos ou alterados, cada um identificado pelo seu caminho (por exemplo items[2].name). Ele interpreta as duas entradas e compara os valores resultantes, de modo que espaços em branco e a ordem das chaves são ignorados e apenas as diferenças reais de chaves e valores aparecem. Arrays são comparados posicionalmente por índice, o que significa que inserir um elemento no meio mostra todos os elementos seguintes como alterados, em vez de uma única inserção. Ele roda inteiramente no seu navegador, então nada do que você colar é transmitido a lugar algum.
Como usar JSON Compare
- Cole o JSON original na caixa da esquerda e o JSON alterado na caixa da direita.
- A lista de diferenças é atualizada instantaneamente, mostrando cada valor adicionado, removido e alterado pelo seu caminho.
- As chaves dos objetos são comparadas independente da ordem — apenas diferenças reais de valor são relatadas.
- Os elementos de arrays são comparados por índice; elementos extras no final de qualquer lado aparecem como adicionados ou removidos.
Exemplos
Valor alterado
Entrada
Left: {"a":1} Right: {"a":2}
Saída
a: changed 1 → 2
Chave adicionada
Entrada
Left: {"a":1} Right: {"a":1,"b":2}
Saída
b: added (2)
Caminho aninhado
Entrada
Left: {"user":{"name":"Ada"}} Right: {"user":{"name":"Grace"}}
Saída
user.name: changed "Ada" → "Grace"
Erros comuns
- Assumir que isto faz um diff "inteligente" baseado em linhas como um diff de texto/git — é um diff estrutural de JSON, então reordenar elementos de um array aparece como alterações mesmo que os mesmos valores continuem presentes.
- Comparar JSON minificado com JSON formatado esperando que o espaço em branco importe — apenas os valores interpretados são comparados, não a formatação.
- Esquecer que JSON não tem "undefined" — uma chave genuinamente ausente aparece como adicionada/removida, enquanto uma chave explicitamente definida como null é um valor real e aparecerá como alterada se o outro lado divergir.
Por que usar esta ferramenta
- A saída de diff baseada em caminhos diz exatamente onde está a diferença, não apenas que os documentos divergem.
- Ignora a ordem das chaves, focando apenas em diferenças estruturais e de valores reais.
- Mensagens de erro claras e separadas quando qualquer um dos lados falha ao ser interpretado, em vez de uma falha genérica única.
- Roda inteiramente no cliente — nada do que você colar é enviado a lugar algum.