Pular para o conteúdo
ToolMug

Comparar JSON

Veja exatamente o que mudou entre duas versões de uma configuração JSON, de uma resposta de API ou de um arquivo de dados. As diferenças são listadas por caminho, como $.users[2].email, então chaves reordenadas e mudanças de formatação não aparecem como alterações.

Roda no seu navegador — nada do que você digita é enviado

Cole JSON nos dois lados para compará-los.

Como usar

  1. Cole o JSON original à esquerda e o JSON alterado à direita.
  2. Escolha se a ordem dos arrays importa.
  3. Leia a lista de valores adicionados (+), removidos (−) e alterados (~), ou copie-a como relatório.

Opções explicadas

Comparar por posição
Os itens dos arrays são comparados um a um. Por isso, inserir um item no início altera todas as posições seguintes.
Ignorar ordem
Os arrays são tratados como coleções sem ordem; só são informados os itens que existem de um lado e não do outro. Útil para listas de IDs, tags ou registros.
Caminhos
Os caminhos usam a notação JSONPath: $ é a raiz, .key uma propriedade, [0] um item de array e ["a b"] uma chave que não é um nome simples.

Exemplo

Pegue estes dois documentos, em que as chaves estão em ordem diferente e alguns valores são diferentes:

{"name": "Ada", "age": 36, "tags": ["x", "y"], "address": {"city": "Rome"}, "first name": "A"}
{"age": 37, "name": "Ada", "tags": ["y", "x"], "address": {"city": "Rome", "zip": "00100"}, "first name": "B", "role": "admin"}

Comparado por posição, o resultado é:

Alteração Caminho Antes Depois
~ $.age 36 37
~ $.tags[0] “x” “y”
~ $.tags[1] “y” “x”
+ $.address.zip “00100”
~ $["first name"] “A” “B”
+ $.role “admin”

Com Ignorar ordem ativado, as duas alterações em tags desaparecem, porque os dois arrays têm os mesmos dois valores. A ordem das chaves não tem efeito em nenhum dos modos. Um valor que muda de tipo, como um número que vira string ou um objeto que vira array, é informado como uma única alteração no seu próprio caminho.

Perguntas frequentes

Qual a diferença para um diff de texto?

Um diff de texto compara linhas, então a formatação e a ordem das chaves aparecem como alterações. O Comparar JSON analisa os dois lados e compara os próprios dados.

1 e "1" são considerados iguais?

Não. Um número e uma string são valores JSON diferentes, então a alteração é informada com os dois valores.

Meus dados são enviados para algum servidor?

Não. Os dois documentos são comparados no seu navegador.

Privacidade

Esta ferramenta funciona inteiramente no seu navegador. Seus arquivos e textos são processados no seu dispositivo e nunca são enviados aos nossos servidores.

Ferramentas relacionadas