Ordenar chaves JSON

Reorganiza objetos com chaves em ordem alfabética, inclusive em objetos aninhados e arrays de objetos.

{{ jsonSort.message }}

Descrição

Quando dois JSONs representam os mesmos dados com chaves em ordens diferentes, um diff textual mostra falsas diferenças onde não há nenhuma diferença semântica. Isso polui reviews de pull request, quebra comparações automáticas em testes de snapshot e dificulta auditorias. Ordenar as chaves antes de salvar elimina esse ruído e torna os diffs realmente úteis.

A ordenação é recursiva: chaves de objetos aninhados são ordenadas também, e arrays de objetos têm as chaves de cada elemento reordenadas individualmente. Arrays puros de valores como strings ou números não são reordenados, porque a posição dos itens em um array é semanticamente significativa na maioria dos casos.

Em projetos com arquivos JSON persistidos, como mocks de API, fixtures de teste e arquivos de tradução i18n, manter chaves ordenadas como convenção facilita code review e reduz conflitos de merge quando múltiplos colaboradores ou ferramentas editam o mesmo arquivo. Algumas equipes impõem isso via lint com prettier, que oferece a opção de ordenar chaves JSON automaticamente ao salvar.

Uma ressalva técnica: a especificação ECMAScript não garante ordem de chaves em objetos. Na prática, porém, todos os motores modernos como V8, SpiderMonkey e JavaScriptCore preservam a ordem de inserção para chaves de string não numéricas. Após ordenar e re-parsear, a ordem se mantém. Para comunicação machine-to-machine isso é irrelevante, mas para leitura e diff humanos faz toda a diferença.

Detalhamento técnico

Pontos frequentes

  • Para que serve esta ferramenta?: Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.
  • Meus dados são enviados a algum servidor?: O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.
  • Posso usar em produção ou para dados reais?: Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.

Trecho para testar

  • Há também o bloco "Exemplo de Código" com o trecho completo; use esse texto rápido para colar nos campos e validar: Efeito — {"z":1,"a":{"m":2,"b":3}} → chaves a, z e depois b, m

Guia da ferramenta

  • O que é JSON Ver secção anterior. Em objetos JSON, a ordem das chaves não tem significado semântico fixo na especificação, mas afeta diffs e leitura.

  • O que a ferramenta faz Percorre objetos (inclusive aninhados) e ordena as chaves alfabeticamente. Arrays mantêm a ordem dos elementos.

  • Por que usar Diffs estáveis entre versões de um arquivo, menos ruído em revisões e comparações automatizadas de configuração.

Exemplo de Código

Exemplo de código
{"z":1,"a":{"m":2,"b":3}} → chaves a, z e depois b, m

Efeito

{"z":1,"a":{"m":2,"b":3}} → chaves a, z e depois b, m

Perguntas frequentes

Para que serve esta ferramenta?

Ela roda 100% no seu navegador: útil para validar, formatar ou converter dados no dia a dia de desenvolvimento.

Meus dados são enviados a algum servidor?

O processamento é feito localmente via JavaScript. Não armazenamos o conteúdo que você cola nas caixas de texto.

Posso usar em produção ou para dados reais?

Use por sua conta e risco. Para segredos (senhas, tokens), prefira ambientes controlados e políticas da sua empresa. E lembre sempre de revisar os conteúdos gerados. Nunca confie cegamente nas coisas que vê na internet.