Entrada

Saída ordenada

O que é Ordenar JSON?

Já abriu um pull request e viu um diff enorme só porque alguém adicionou uma chave a uma configuração JSON — e todas as outras chaves se deslocaram? Esse é exatamente o problema que o JSON ordenado resolve. As chaves de objetos JSON não têm ordem definida na especificação (veja RFC 8259), então parsers e ambientes podem retorná-las em qualquer ordem. Ordenar as chaves alfabeticamente dá uma saída consistente e previsível — ótima para diffs git, geração de hashes, testes de API e fixtures de teste reproduzíveis.

Esta ferramenta ordena as chaves dos seus objetos JSON recursivamente. Objetos aninhados também têm suas chaves ordenadas. Arrays permanecem no lugar; apenas as chaves dos objetos são reordenadas. O processamento ocorre no seu navegador.

Como usar esta ferramenta

1

Colar seu JSON

Cole JSON no editor esquerdo ou envie um arquivo. Use Amostra para dados de exemplo. A ferramenta aceita qualquer JSON válido.

2

Ver saída ordenada

O painel direito mostra o mesmo JSON com chaves ordenadas alfabeticamente. Objetos aninhados são ordenados recursivamente. JSON inválido mostrará um erro.

3

Copiar ou baixar

Use Copiar ou Baixar para obter o resultado. Para formatar sem ordenar, use o Formatador JSON. Para minificar, use o Minificador JSON.

Exemplos de Ordenar JSON

Aqui está um exemplo de ordenar chaves de objetos JSON alfabeticamente. Objetos aninhados são ordenados recursivamente.

Exemplo: Registro de assinante com chaves desordenadas

Entrada (chaves em ordem arbitrária):

Entrada

Saída ordenada:

Saída ordenada

Quando a ordem das chaves importa

Diffs do Git são mais limpos quando as chaves estão ordenadas: as alterações se destacam em vez de serem enterradas em linhas reordenadas. Alguns sistemas usam stringificação JSON para hashing ou assinatura; chaves ordenadas tornam a saída determinística. Em JavaScript, JSON.stringify não garante a ordem das chaves. Esta ferramenta fornece saída consistente independentemente da ordem de entrada.

Perguntas frequentes

Como ordenar chaves JSON alfabeticamente em JavaScript?

Você pode usar JSON.stringify() com um replacer que ordena chaves: JSON.stringify(obj, Object.keys(obj).sort()) para ordenação superficial. Para ordenação recursiva profunda, você precisa de uma função auxiliar recursiva — que é exatamente o que essa ferramenta faz por você, sem código.

Ordenar as chaves JSON muda os dados?

Não. Apenas a ordem das chaves muda. Todos os valores, objetos aninhados e arrays ficam exatamente iguais. O resultado é JSON semanticamente idêntico — parsers o tratam identicamente.

Por que devo ordenar as chaves JSON?

Razões principais: diffs git mais limpos (sem mudanças falsas quando chaves são reordenadas), saída determinística para hashing ou assinatura JSON, e fixtures de teste consistentes.

Os elementos do array também são ordenados?

Não. Apenas as chaves dos objetos são ordenadas. A ordem do array é preservada intencionalmente — ordenar elementos do array mudaria o significado dos dados.

Meus dados são enviados a um servidor?

Não. A ordenação é executada completamente no seu navegador. Nada é enviado a lugar nenhum.

Ferramentas relacionadas

Para sintaxe JSON: RFC 8259 e MDN. A especificação JSON em json.org define o formato. Para processamento por linha de comando, jq suporta ordenação. Git diff se beneficia de chaves ordenadas para comparações mais limpas. Consulte também JSON.stringify(), Lodash sortBy e Postman para testes de API.