Diferença JSON com chaves classificadas – Ignorar ordem de chaves
Compare duas cargas JSON por estrutura, não por texto: veja cada chave adicionada, removida e alterada em seu próprio caminho, inteiramente em seu navegador.
Resultado
Esta página abre o verificador de diferenças JSON com 'classificar chaves antes de comparar' já ativado, carregado com um pequeno exemplo: o mesmo registro de pessoa escrito duas vezes com suas chaves em uma ordem diferente. Observe o resultado e você não verá nenhuma diferença, exatamente como deveria ser - reordenar as chaves não altera o significado de um objeto JSON.
Um objeto JSON é, por definição, uma coleção não ordenada de pares chave/valor. {"id":1,"name":"Ada"} e {"name":"Ada","id":1} descrevem exatamente os mesmos dados. No entanto, uma comparação ingênua - por exemplo, colar ambas as cargas úteis, bem impressas, em uma comparação de texto simples baseada em linhas - marcará quase todas as linhas como alteradas no momento em que o serializador de um lado decidiu emitir campos em uma ordem diferente, porque uma comparação de texto apenas compara caracteres e linhas, nunca significando.
Essa ferramenta evita essa armadilha percorrendo as chaves de cada objeto por nome e não por posição, de modo que a ordem das teclas nunca iria enganá-lo - a classificação apenas torna essa garantia visível e fornece uma lista limpa e ordenada em ordem alfabética para ler as diferenças. Edite qualquer área de texto e assista à atualização do diferencial ao vivo; quando estiver pronto, compare seus dois documentos JSON aqui em vez do exemplo.