Pular para o conteúdo

Comparar JSON

JSON Diff

Compara dois documentos JSON estruturalmente, ignorando a ordem das chaves e informando os caminhos adicionados, removidos e alterados.

Compara dois documentos JSON estruturalmente, não como texto, então uma chave reordenada ou uma indentação diferente não é uma diferença. A saída é ao mesmo tempo uma tabela legível do que mudou e um patch RFC 6902 que transforma o documento da esquerda no da direita com exatidão.

🔒 Roda inteiramente no seu navegadorjsondiffcompare
Arrays

Alinha os dois arrays primeiro, para que uma inserção seja uma mudança e não cem.

Esquerda

Direita

Como usar

  1. Cole os dois documentos

    Duas respostas de API, duas configurações, um antes e um depois. A comparação roda em um worker e se atualiza enquanto você digita.

  2. Escolha como os arrays são comparados

    É a opção que decide se o resultado é útil. Alinhar emparelha os dois arrays primeiro, então inserir um elemento é uma única mudança. Por índice compara posição por posição, que é o certo quando a ordem é o dado. Por chave casa os elementos por um membro nomeado: a resposta quando duas respostas listam as mesmas coisas em ordem diferente.

  3. Decida se null significa ausente

    Alguns serializadores omitem um campo vazio e outros escrevem `null`. Se você está comparando a saída de duas stacks diferentes, ligar isso elimina uma página de diferenças falsas.

  4. Pegue a tabela, ou pegue o patch

    A tabela é para ler; o patch é para aplicar. Os caminhos nos dois são ponteiros RFC 6901, então colam em qualquer ferramenta que fale JSON Patch.

Perguntas frequentes

Por que um elemento inserido em um array aparece como cem mudanças?

Porque o modo de array está em Por índice, então o elemento 1 está sendo comparado com o elemento 2 e tudo se desloca. Mude para Alinhar, que emparelha os arrays primeiro, ou para Por chave se os elementos têm um id.

Posso aplicar o patch aqui?

Não, esta página só o produz. Mas o patch é exato: aplicá-lo ao documento da esquerda dá o da direita byte a byte no modelo de dados, e essa ida e volta é o que a suíte de testes verifica a cada mudança.

Ele diz que os dois documentos não têm relação.

Essa mensagem aparece quando a comparação passa de vinte mil mudanças e para. Nesse ponto o diff não está te dizendo nada de útil: você está comparando dois documentos diferentes, não duas versões de um.

A ordem das chaves importa alguma vez?

Para esta ferramenta não: objetos JSON não têm ordem, então dois documentos que só diferem na ordem das chaves são relatados como idênticos. Se a ordem das chaves importa para o seu consumidor, esse consumidor está dependendo de algo que o JSON não promete.

Pode receber de

Em seguida

Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.