Pular para o conteúdo
SDETRole
SDETRole

JSON e dados

Comparador de JSON (JSON Diff)

Compare dois documentos JSON semanticamente, com o caminho de cada mudança.

Roda inteiramente no seu navegador Sem cadastro

Original (expected)

Modified (actual)

Paste two JSON documents to compare them

Key order is always ignored. Tick “Ignore array order” to compare arrays as unordered sets.

Sobre esta ferramenta

Um diff de texto simples entre duas respostas de API é ruidoso: chaves reordenadas e espaços diferentes aparecem como mudanças mesmo que os dados sejam idênticos. Este comparador interpreta os dois documentos e compara a estrutura, então só diferenças reais são informadas. Cada uma é listada com uma localização no estilo JSONPath ($.user.roles[1]) e um tipo: adicionado, removido, alterado ou tipo alterado, este último sendo o clássico bug "49.99" versus 49.99. Use-o para explicar uma assertion que falhou, revisar uma mudança de contrato entre versões de API ou conferir a atualização de um snapshot antes de aceitá-la.

Como usar

  1. Cole o JSON esperado (ou antigo) à esquerda e o real (ou novo) à direita, ou clique em “Load sample”.
  2. Leia a lista de mudanças: cada linha mostra o tipo de mudança, o caminho e os valores antes → depois.
  3. Marque “Ignore array order” quando os arrays forem na verdade conjuntos, como roles, tags ou resultados de busca sem ordem.
  4. Mude para “Side by side” ou “Unified” para ver as mudanças em contexto; as duas visões ordenam as chaves antes, então reordenações não são informadas.

Perguntas frequentes: Comparador de JSON (JSON Diff)

Qual a diferença entre “alterado” e “tipo alterado”?

“Alterado” significa que o valor difere, mas o tipo JSON é o mesmo, por exemplo "pending" virando "shipped". “Tipo alterado” significa que o próprio tipo difere, como um número que vira string ou um objeto que vira null. Mudanças de tipo costumam ser bugs de contrato que quebram clientes fortemente tipados mesmo quando o valor parece igual.

Como os arrays são comparados com “Ignore array order” ativado?

Cada elemento à esquerda é pareado com um elemento profundamente igual à direita. Os que sobram são informados como removidos ou adicionados em seu próprio índice. Duplicatas contam, então [1, 2, 2] e [2, 1] continuam diferentes. Como os elementos são pareados por igualdade total, um objeto alterado dentro de um array sem ordem aparece como uma remoção mais uma adição.

Posso usar esses caminhos nos meus testes?

Sim. Os caminhos usam notação de ponto para chaves simples e notação de colchetes para chaves com espaços ou símbolos, o que funciona no Testador de JSONPath e corresponde diretamente a assertions JSONPath em ferramentas como REST Assured ou Postman.

Digite para buscar em todo o SDETRole.

Busca de texto completo com Pagefind · roda no seu navegador Abrir página de busca →