Formatação de código / MULTIVERTO

Ordenar chaves JSON

Ordene alfabeticamente as chaves dos objetos de forma recursiva, sem alterar a ordem dos arrays.

Conversor interativoSua entrada permanece neste navegador. Nenhum texto é enviado para conversão.

O arquivo permanece no seu navegador.
Encadear ferramentas

Aplique cada ferramenta de texto ao resultado anterior. Fluxos de trabalho com texto ↗

Somente o nome da sequência e a ordem das ferramentas são salvos neste navegador. Sua entrada e seus resultados nunca são salvos.

01 / Exemplo

Exemplo

Sua entrada{"z":"Bem-vindo","a":{"z":"Olá","a":true}}
Resultado{ "a": { "a": true, "z": "Olá" }, "z": "Bem-vindo" }

02 / Guia

Ordenar chaves JSON — Como funciona

O que a conversão faz

Ordene recursivamente as chaves dos objetos em ordem alfabética sem alterar a ordem dos arrays. Analise o JSON, ordene os nomes das propriedades de cada objeto e indente o resultado.

Exemplo de trabalho

Neste exemplo, a entrada «{"z":"Bem-vindo","a":{"z":"Olá","a":true}}» produz a saída «{ ⏎ "a": { ⏎ "a": true, ⏎ "z": "Olá" ⏎ }, ⏎ "z": "Bem-vindo" ⏎ }»; ⏎ representa uma quebra de linha real. Inspecione os delimitadores, nomes e tipos de valor alterados antes de usar esse resultado. Ao ordenar as chaves JSON, compare um pequeno registro com o analisador de destino antes de transformar um arquivo ou solicitação completo. Alfabetiza chaves de objetos recursivamente sem alterar a ordem dos arrays.

Regras e limites de formato

Esta operação analisa JSON em vez de classificar linhas de texto. Cada objeto é visitado recursivamente e seus nomes de membros são colocados em ordem lexicográfica JavaScript; elementos de array permanecem em suas posições originais porque a ordem do array geralmente tem significado. Os valores mantêm seu tipo JSON, incluindo true, false, null e números. O recuo muda para que a saída possa ser revisada, mas a ortografia numérica e espaços em branco insignificantes podem diferir da fonte. A ordem da chave do objeto JSON é frequentemente semanticamente irrelevante para aplicações, embora a ordem possa ser importante para diffs, snapshots e protocolos que assinam bytes exatos. Não use esta saída como um formato de assinatura canônico JSON. Nomes de membros duplicados na origem são resolvidos pelo analisador JSON antes da classificação, portanto, inspecione esses dados em um analisador dedicado se a retenção de todas as ocorrências for essencial. Compare registros de teste de API cujos membros de objeto chegaram em ordens diferentes, preservando a sequência de itens de array. Inteiros sem aspas fora do intervalo de inteiros seguros de ±9.007.199.254.740.991 são rejeitados durante o processamento de JSON; coloque um identificador exato entre aspas para preservar todos os dígitos como string.

Verifique o resultado

Para classificação de chaves JSON, analise a saída novamente e compare seus dados com a entrada analisada, em vez de comparar os bytes originais. Verifique se os arrays mantiveram sua ordem e se cada objeto foi classificado, incluindo objetos aninhados dentro de arrays. Se o resultado for assinado ou submetido a hash, use a canonização exata exigida por esse protocolo em vez de assumir que chaves alfabéticas são suficientes. Aninhe um objeto dentro de um array com chaves deliberadamente invertidas; inspecione tanto o objeto externo quanto o interno, confirmando que as posições do array não foram movidas. A fonte e o resultado têm papéis diferentes, mesmo quando parecem semelhantes. O método acima define o subconjunto aceito em vez de cada extensão do formato nomeado. Para um sistema de recepção rigoroso, tente um pequeno caso conhecido antes de alterar muitos registros. Se a validação falhar, retorne à entrada original e ao primeiro erro relatado; editar apenas o resultado gerado pode ocultar a causa. Mantenha a fonte até que o aplicativo de recepção aceite a saída. A conversão é executada neste navegador; colar o resultado em um URL compartilhado, repositório ou solicitação é uma decisão de publicação separada.

Como esta conversão transforma a entrada
JSON — Entrada
Ler e transformar estrutura
JSON — Resultado