Comparador de JSON (diff estruturado)

Compare duas estruturas JSON e identifique precisamente o que foi adicionado, removido ou modificado.

Exemplo:

Como funciona

Um caso de uso comum para desenvolvedores: duas versões de uma resposta de API (por exemplo, antes e depois de uma migração, ou entre dois ambientes staging/produção) precisam ser comparadas para identificar precisamente quais campos mudaram. Cole a primeira resposta em "JSON A" e a segunda em "JSON B", clique em "Comparar": cada diferença é listada com seu caminho exato (por exemplo, user.address.city) e exibida em verde para uma adição, em vermelho para uma remoção, e em amarelo para um valor modificado.

Como os arrays são comparados?

Os arrays são comparados elemento por elemento de acordo com sua posição (índice): o primeiro elemento de A é comparado ao primeiro elemento de B, e assim por diante. Se um array for mais longo em um dos dois documentos, os elementos extras aparecem como "adicionado" ou "removido" com seu índice entre colchetes, por exemplo items[2]. Atenção: se elementos forem simplesmente reordenados em vez de adicionados ou modificados, esta ferramenta os sinalizará como mudanças em cada posição afetada, pois não tenta realinhar os arrays de forma inteligente.

O que acontece se um campo muda de tipo?

Se uma chave contém um número em um documento e uma string (ou um objeto) no outro, a ferramenta a sinaliza diretamente como "modificado" em vez de tentar comparar seu conteúdo interno — uma mudança de tipo geralmente é sinal de uma alteração importante no contrato de dados que merece ser visível imediatamente.

A comparação é executada 100% localmente no seu navegador via WebAssembly: seus dados JSON, mesmo sensíveis, nunca são transmitidos a um servidor.