Dois documentos que contem os mesmos dados em uma ordem de chaves diferente sao impossiveis de comparar com um diff de texto puro. A configuracao escrita a mao e a configuracao escrita por um programa quase nunca concordam na ordem, e ordenar ambos da mesma forma e o que os torna comparaveis novamente.
Usando o ordenador de chaves de JSON
Escolha uma ordem, A a Z ou Z a A, uma largura de indentacao, e pressione Ordenar chaves. Somente chaves de objeto se movem. Um array e deixado exatamente como foi escrito, porque a ordem de um array e parte dos dados que ele contem, nao um acidente de como foi digitado, e uma ferramenta que silenciosamente reordenaria arrays tambem mudaria o que o documento significa enquanto afirma apenas organizar.
Ordenando
{"item10":"a","item2":"b","Zebra":"c","apple":"d","list":[3,1,2]}
por padrao retorna chaves em ordem exata de codigo de caractere: Zebra
antes de apple (letras maiusculas se ordenam antes de minusculas), e
item10 antes de item2 ("1" e um caractere menor que "2"). O array
[3, 1, 2] volta completamente intacto.
A opcao “Numeros em ordem”
A ordem por codigo de caractere e por que item10 se ordena antes de
item2: a comparacao olha um caractere por vez e nunca percebe que 10
e maior que 2. Ativar “Numeros em ordem” le sequencias de digitos como
numeros ao inves, entao item2 corretamente vem antes de item10. Isto
e escrito explicitamente na ferramenta ao inves de delegado a comparacao
sensivel a localizacao do navegador, porque uma comparacao que segue o
idioma da pagina ordenaria exatamente o mesmo arquivo de forma diferente
na pagina em hindi do que na pagina em ingles, e uma ferramenta que
organiza um documento tem que dar a mesma resposta nao importa quem a
usa.
Chaves duplicadas
Um documento com uma chave duplicada mantem ambas as copias, lado a lado,
apos a ordenacao. Esta ferramenta nao decide qual e “correta” da forma
que uma abordagem baseada em JSON.parse faria silenciosamente mantendo
apenas a ultima; ela ordena o que existe e deixa a decisao sobre a
duplicata para voce, ou para o validador de JSON,
que a sinalizara como um aviso.
Por que ordenar nao altera seus dados
Ordenado ou nao, os valores, seus tipos e seu texto exato sao identicos. Isto e uma conveniencia de exibicao e comparacao, nao uma transformacao do significado do documento, e por isso e seguro ordenar um documento antes de compará-lo na ferramenta JSON diff sem se preocupar que a propria ordenacao introduziu uma diferenca.