JSON Compare
Diferencie dois documentos JSON e veja todos os valores adicionados, removidos e alterados.
Enter JSON on both sides to compare.
What is JSON Compare?
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 analisa ambas as entradas e compara os valores resultantes, então espaços em branco e a ordem das chaves são ignorados e apenas as diferenças reais em chaves e valores são mostradas. Matrizes são comparadas posicionalmente por índice, o que significa que inserir um elemento no meio mostra todos os elementos após ele como alterados, em vez de uma única inserção. Ele é executado inteiramente no seu navegador, então nada do que você cola é transmitido para lugar algum.
How to Use 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 todos os valores adicionados, removidos e alterados pelo seu caminho.
- As chaves dos objetos são comparadas independentemente da ordem — apenas as diferenças reais nos valores são relatadas.
- Os elementos das matrizes são comparados por índice; elementos extras no final de qualquer lado aparecem como adicionados ou removidos.
Examples
Valor alterado
Input: Esquerda: {"a":1} Direita: {"a":2}
Output: a: alterado 1 → 2
Chave adicionada
Input: Esquerda: {"a":1} Direita: {"a":1,"b":2}
Output: b: adicionado (2)
Caminho aninhado
Input: Esquerda: {"user":{"name":"Ada"}} Direita: {"user":{"name":"Grace"}}
Output: user.name: alterado "Ada" → "Grace"
Common Mistakes
- Assumir que isso faz uma diferença "inteligente" baseada em linhas como um diff de texto/git — é uma diferença estrutural JSON, então reorganizar elementos de array mostra como alterações mesmo se os mesmos valores ainda estiverem presentes.
- Comparar JSON minificado com JSON impresso bonito e esperar que o espaço em branco importe — apenas os valores parsados são comparados, não a formatação.
- Esquecer que o JSON não tem "indefinido" — uma chave que está genuinamente ausente é mostrada como adicionada/removida, enquanto uma chave explicitamente definida como null é um valor real e mostrará como alterada se o outro lado for diferente.
Why Use This Tool
- A saída de diferença baseada em caminho diz exatamente onde uma diferença está, não apenas que os documentos diferem.
- Ignora a ordem das chaves, focando apenas nas diferenças estruturais e de valor reais.
- Mensagens de erro claras e separadas quando qualquer lado falha ao analisar, em vez de uma falha genérica.
- Executa inteiramente no lado do cliente — nada do que você cola é enviado para lugar algum.