Pular para o conteúdo
SPCXTools

Comparar JSON

Encontre rapidamente as diferenças entre dois objetos JSON com uma comparação detalhada por path.

Roda localmente — os arquivos não saem do seu dispositivo

Carregando ferramenta…

Como usar: Comparar JSON

  1. 1Cole seu JSON original no painel esquerdo e o JSON modificado no painel direito.
  2. 2A ferramenta analisa os dados instantaneamente e exibe um resumo dos campos adicionados, removidos e alterados.
  3. 3Marque "Ignorar ordem do array" se desejar comparar o conteúdo dos arrays independentemente da sequência.
  4. 4Revise a lista detalhada de alterações, mostrando o path JSON exato e os valores antigos/novos.
  5. 5Use o botão Copiar para copiar um relatório em texto simples das diferenças para a sua área de transferência.

Um comparador de JSON rápido e privado

Ao trabalhar com estruturas de dados complexas, encontrar um único valor modificado ou uma chave ausente pode ser muito frustrante. Esta ferramenta de comparação de JSON foi criada para analisar e destacar instantaneamente as diferenças exatas entre dois payloads JSON. Em vez de ler milhares de linhas de código, você recebe um relatório limpo e estruturado mostrando exatamente o que mudou.

Como esta ferramenta roda totalmente no seu navegador, ela é uma maneira completamente privada de fazer um JSON diff online. Seus dados nunca são enviados para um servidor nem armazenados em um banco de dados. Você pode colar com segurança respostas de APIs proprietárias, payloads com dados de clientes ou configurações sensíveis de ambiente sem risco de vazamento de dados.

Como funciona a comparação profunda de JSON

Se você deseja comparar dois arquivos JSON, usar um Comparador de Texto padrão geralmente leva a falsos positivos. Ferramentas de texto simples comparam os dados linha por linha. Se o seu JSON modificado tiver uma indentação diferente, ou se as chaves de um objeto estiverem em outra ordem, um comparador de texto marcará o bloco inteiro como alterado.

Esta ferramenta funciona de maneira diferente. Ela converte o texto em objetos JavaScript reais e faz uma comparação profunda e recursiva da própria estrutura de dados. Ela ignora espaços em branco, indentação e a ordem das chaves do objeto. Se {"status": "ok", "code": 200} se tornar {"code": 200, "status": "ok"}, a ferramenta os reconhecerá como perfeitamente idênticos.

Quando encontra uma diferença, ela gera o caminho exato da alteração usando a notação de ponto e a sintaxe de colchetes padrão. Por exemplo, se a terceira tag em um array mudar, a ferramenta apontará diretamente para tags[2] em vez de apenas destacar uma linha aleatória em um arquivo enorme.

Lidando com arrays: estrito vs. independente de ordem

Um dos desafios mais comuns em um comparador de JSON é lidar com arrays. Às vezes, a ordem dos itens em um array é estritamente importante. Outras vezes, um array é apenas uma lista não ordenada de itens, e você só quer saber se os conteúdos coincidem.

Por padrão, esta ferramenta compara arrays estritamente pelo índice. Ela verifica se o primeiro item no original corresponde ao primeiro item no modificado, e assim por diante.

Se você marcar a opção Ignorar ordem do array, a ferramenta muda de comportamento. Ela serializa e ordena alfabeticamente o conteúdo de ambos os arrays antes de compará-los. Isso significa que se o seu array original for ["apple", "banana"] e o modificado for ["banana", "apple"], a ferramenta apontará zero alterações. Esse recurso é essencial ao comparar respostas de API de bancos de dados que não garantem uma ordenação específica.

Casos de uso comuns

Depuração de respostas de API. Quando um endpoint de API para de funcionar de repente, comparar a resposta antiga que funcionava com a nova que está falhando é a maneira mais rápida de encontrar a causa. Cole ambos os payloads para ver instantaneamente se uma chave foi renomeada, se um tipo de dado mudou de string para integer, ou se um objeto aninhado foi removido.

Revisão de arquivos de configuração. Aplicações modernas dependem muito de arquivos de configuração JSON, como package.json, tsconfig.json ou templates de deploy na nuvem. Antes de fazer o commit de uma alteração, use esta ferramenta para verificar exatamente quais dependências foram atualizadas ou quais configurações foram alteradas.

Auditoria de registros de banco de dados. Bancos de dados orientados a documentos, como o MongoDB, armazenam registros em estruturas semelhantes ao JSON. Se você precisar auditar como um perfil de usuário ou documento específico mudou ao longo do tempo, comparar a exportação histórica do JSON com o estado atual fornece uma trilha de auditoria clara de campos adicionados, removidos e modificados.

Entendendo o resultado

Ao colar um JSON válido em ambos os painéis, a ferramenta gera um resumo e uma lista detalhada das alterações:

  • Adicionado (+): Chaves ou itens de array que existem no JSON modificado, mas não no original. Eles são destacados em verde.
  • Removido (−): Chaves ou itens de array que existem no JSON original, mas estão ausentes na versão modificada. Eles são destacados em vermelho.
  • Alterado (~): Chaves que existem em ambos, mas possuem valores diferentes (ex.: uma string foi atualizada ou um booleano passou de true para false). Eles são destacados em amarelo, mostrando os valores antigos e novos.

Se precisar compartilhar os resultados da comparação com um colega ou colá-los em um relatório de bug, você pode usar o botão Copiar. Ele copia um resumo limpo, em texto simples, de cada caminho alterado e seus respectivos valores.

Para manipulações adicionais, você pode formatar dados desorganizados primeiro usando o Formatador JSON ou, após finalizar a estrutura do seu JSON, gerar definições de tipos usando o conversor de JSON para TypeScript.

Perguntas frequentes

Como o comparador de JSON lida com arrays?
Por padrão, os arrays são comparados estritamente pela ordem do índice. Se você marcar "Ignorar ordem do array", a ferramenta classifica os arrays pelo conteúdo antes de comparar. Isso é útil quando a ordem dos itens não importa, mas os dados em si devem ser idênticos.
Meus dados JSON são enviados para um servidor?
Não. Todo o processamento e comparação ocorrem localmente no seu navegador usando JavaScript. Seus dados nunca são enviados, tornando esta ferramenta totalmente segura para respostas de API confidenciais, exportações de banco de dados ou arquivos de configuração privados.
O que acontece se meu JSON for inválido?
A ferramenta exibirá uma mensagem de erro abaixo da caixa de texto indicando onde a análise falhou. Você deve fornecer um JSON válido em ambos os painéis para que a comparação seja executada.
Posso inverter o JSON original e o modificado?
Sim, clique no botão Inverter para trocar instantaneamente os painéis esquerdo e direito. Isso inverte a perspectiva do que é considerado "adicionado" ou "removido".
Como os objetos aninhados são comparados?
A ferramenta percorre recursivamente objetos e arrays aninhados, gerando um caminho preciso (como "user.address.city" ou "items[2].id") para cada diferença encontrada.
Por que usar isso em vez de uma ferramenta de diff de texto padrão?
Os diffs de texto padrão comparam linhas de texto. Se o mesmo objeto JSON tiver suas chaves em uma ordem diferente, um diff de texto mostrará isso como uma grande alteração. Um comparador de JSON analisa a estrutura de dados real, então ele sabe que {"a":1, "b":2} e {"b":2, "a":1} são completamente idênticos.