Comparar JSON

Compare dois documentos JSON on-line: ordem das chaves e indentação ignoradas, cada adição, remoção e alteração listada por JSONPath, sem envio

Última atualização
My tools
No tools yet

Carregando...

Como comparar dois documentos JSON on-line

  1. 1

    Cole ou abra os dois documentos JSON

    Coloque os dois documentos a comparar nos painéis esquerdo e direito, ou abra um arquivo .json local. O conteúdo fica no seu navegador e nunca é enviado.

  2. 2

    Leia a lista estruturada de diferenças

    A ferramenta primeiro normaliza os dois lados (ordem das chaves e indentação ignoradas por padrão) e depois lista cada adição, remoção e alteração com seu JSONPath e o valor de cada lado.

  3. 3

    Confira no diff e exporte

    Clique em qualquer linha da lista para ir àquele ponto do diff e depois copie o diff ou baixe-o como arquivo .patch.

Visão geral de recursos

Compare dois documentos JSON on-line e veja o que realmente mudou. A ordem das chaves e a indentação são ignoradas por padrão, então {"a":1,"b":2} e {"b":2,"a":1} são considerados idênticos. Além da visão lado a lado você recebe uma lista estruturada: cada linha é um JSONPath com o valor dos dois lados, ou seja, ela diz que $.data[3].price mudou em vez de «a linha 42 mudou». Inteiros grandes e zeros finais como em 2.370 são preservados byte a byte. Tudo roda no seu navegador; nada é enviado.

Descrição da ferramenta

Cole dois documentos JSON e veja o que realmente mudou. A ordem das chaves e a indentação são ignoradas por padrão, uma lista estruturada relata adições, remoções e alterações por JSONPath com os dois valores, as visões lado a lado e unificada ficam a um clique, inteiros grandes mantêm a precisão e tudo roda no seu navegador.

Lista de capacidades

  • A comparação JSON ignora por padrão a ordem das chaves e a indentação e só relata diferenças semânticas reais
  • Lista estruturada de diferenças: adições, remoções e alterações uma a uma, cada uma com seu JSONPath e os dois valores
  • Visões lado a lado e unificada; clicar em uma linha leva ao ponto correspondente do diff
  • Opções para ignorar a ordem dos elementos de um array ou maiúsculas e minúsculas, e para ver só as diferenças ou todo o contexto
  • Inteiros grandes e o zero final de 2.370 são preservados byte a byte e não são estragados pela precisão numérica do JavaScript
  • Cole, abra um arquivo ou troque os dois lados; o diff pode ser copiado ou baixado como .patch
  • Se um dos lados for inválido você recebe a linha e a coluna exatas, não um simples «formato inválido»
  • Roda inteiramente no seu navegador: sem login, sem anúncios, sem envio

Ferramentas relacionadas

Perguntas frequentes

Como comparo dois arquivos JSON on-line?
Cole cada documento no painel esquerdo e no direito: a comparação roda sozinha. Diferenças de ordem de chaves e de indentação são ignoradas por padrão, então dois documentos formatados de modo diferente mas com os mesmos dados são considerados idênticos.
Qual a diferença entre um diff de JSON e um diff de texto?
Um diff de texto compara linha a linha, trata como mudança uma ordem de chaves ou indentação diferente e só sabe dizer «a linha 42 mudou». Um diff de JSON normaliza a estrutura primeiro e compara por caminho, então aponta $.data[3].price e diz exatamente de qual valor para qual mudou.
Ordem de chaves diferente conta como diferença?
Não por padrão. {"a":1,"b":2} e {"b":2,"a":1} são relatados como idênticos. Desligue «Ignorar a ordem das chaves» nas opções se quiser que a ordem conte.
E se os elementos de um array estiverem em outra ordem?
Por padrão isso é uma diferença, porque arrays JSON são ordenados. Você pode ligar «Ignorar a ordem dos elementos de um array» quando precisar; o diff passa a mostrar a forma canônica reordenada, não a ordem que você digitou.
Inteiros grandes perdem precisão?
Não. A comparação apenas move o texto original e nunca converte JSON em números do JavaScript e de volta, então 9123372036854000123 e o zero final de 2.370 aparecem intactos no resultado.
Meus dados são enviados? Que tamanho de arquivo é aceito?
Nada é enviado: a análise e a comparação acontecem no seu navegador. Cada lado tem limite de 2 MB; acima disso, minifique antes com o formatador JSON ou use uma ferramenta local.