Utilo

Comparador de JSON

Compare dois documentos JSON estruturalmente. Ignore a ordem de chaves e arrays, associe itens por id e veja campos adicionados, removidos, alterados e com tipo alterado, com caminhos JSON em uma árvore recolhível.

O que faz esta ferramenta de dif JSON

As ferramentas de difusão de texto tratam o JSON como linhas, de modo que uma chave reordenada ou um arquivo reformatado aparecem como uma parede de vermelho e verde. Esta ferramenta compara a estrutura de dois documentos JSON. Ele percorre ambas as árvores, relata cada valor adicionado, removido e alterado com seu caminho JSON exato, sinaliza valores cujo ** tipo ** mudou (um número que se tornou uma string é uma regressão API clássica) e mostra o resultado como uma árvore dobrável ou uma lista plana de caminhos. A comparação é executada em um Web Worker, para que cargas grandes permaneçam responsivas.

Como usar

  1. Coloque o documento original em A e o novo em B.
  2. Leia os contadores de resumo: adicionados, removidos, alterados e alterações de tipo.
  3. Use o modo de exibição da árvore para expandir apenas os ramos que diferem, ou mude para caminhos para uma lista fácil de copiar, como $.items[2].price.
  4. Ativar ** ignorar ordem ** quando matrizes são conjuntos (tags, permissões) em vez de listas ordenadas.
  5. Configure ** correspondência por chave ** (por exemplo id) para emparelhar elementos de matriz por identidade, para que a inserção de um item não faça com que todos os elementos seguintes pareçam alterados.

Utilizações típicas

  • ** Verificações de regressão da API:** comparar uma resposta do estágio e da produção após uma implantação.
  • Config drift: difere duas configurações de ambiente ou planos Terraform JSON.
  • ** Teste de contrato:** campos de localização um backend silenciosamente removido ou renomeado.
  • ** Instalações:** rever o que mudou num teste instantâneo antes de o aceitar.

Dicas e casos especiais

  • A ordem da chave do objeto nunca importa; objetos JSON são desordenados por definição.
  • 1 e 1.0 são números iguais em JSON; "1" e 1 são uma mudança de tipo.
  • Com a ordem ignorada, matrizes de primitivos são comparadas como multisset, então duplicados ainda contam.
  • A correspondência por chave aplica-se apenas a matrizes de objetos que contêm todas essa chave; outras matrizes são comparadas com índices.
  • O JSON inválido é relatado com a mensagem de erro do analisador para o lado que falhou.

Perguntas frequentes

Os meus dados são enviados para um servidor?
  • Não, não. Ambos os documentos são analisados e comparados localmente no seu navegador.
Como é que isto é diferente da ferramenta de diferença de texto?

A diferença de texto compara linhas. Esta ferramenta entende o JSON, por isso a formatação, espaços em branco e ordem de teclas não produzem ruído, e cada diferença vem com um caminho.

Posso comparar ficheiros muito grandes?

Arquivos de vários megabytes funcionam bem porque o dif corre fora do fio principal. A árvore gira preguiçosamente à medida que expandimos os nós.

O que significa "mudança de tipo"?

O valor existe em ambos os lados, mas seu tipo JSON é diferente, por exemplo, um objeto substituído por uma matriz ou null substituído por uma cadeia.

Sim. Todo o processamento acontece diretamente no seu navegador usando JavaScript, Web Workers e APIs da Web. Nada do que você digita, cola ou envia vai para os nossos servidores.

Esta página foi traduzida automaticamente do inglês. Se encontrar um erro, avise-nos.