JSON Ordenar Chaves
Desenvolvimento
Reordena as chaves de um objeto JSON em ordem alfabética, com descida recursiva opcional em objetos aninhados e arrays de objetos. Os arrays em si ficam na ordem original — só muda a ordem das chaves dos objetos. Útil pra diffs determinísticos (commitar um `package.json` ordenado pra reviewers verem só mudanças reais), normalizar fixtures de API antes de snapshot testing, ou bater com a ordem esperada por uma ferramenta downstream rigorosa quanto à ordem de chaves.
Ordenado
{
"author": {
"email": "demo@example.com",
"name": "Alice"
},
"dependencies": {
"astro": "^4",
"react": "^18"
},
"name": "demo",
"scripts": {
"build": "astro build",
"dev": "astro dev",
"test": "vitest"
},
"version": "1.0.0"
}Só chaves de objetos são reordenadas. A ordem dos elementos de array é preservada — ordene-os separadamente se precisar.
Como usar
- Cole seu JSON (um `package.json` ou qualquer objeto).
- Ative `deep` pra ordenar também objetos aninhados, ou deixe off pra ordenar só chaves do nível superior.
- Escolha ordem ascendente ou descendente e copie o resultado.
Perguntas frequentes
- Reordena elementos de arrays?
- Não — só chaves de objetos. Arrays mantêm sua ordem original porque a posição dos elementos costuma ser significativa. Se também precisa elementos de array ordenados, rode um passo de ordenação dedicado (jq `sort_by`, por exemplo) primeiro.
- Por que eu ordenaria `package.json`?
- Ferramentas como `npm` toleram a ordem das chaves, mas humanos não. Ordenar mantém reviewers focados em mudanças reais (nova dependência) em vez de churn do `npm install` reshuffling. Alguns times forçam isso com hook pre-commit `sort-package-json`.
- A ordenação é locale-aware?
- Não — é ordenação por code-point com folding case-insensitive opcional. Coincide com o que `jq`, `Object.keys().sort()` e a maioria das stdlibs faz por default. Colação por locale pode dar resultados diferentes pra chaves não-ASCII, mas raramente é o que você quer pra output canônico.
- E JSON5 / comentários / vírgulas trailing?
- Só JSON estrito — o input deve parsear com `JSON.parse`. Se tem arquivo config com comentários, tire-os primeiro ou use parser JSON5 antes de colar.
Ferramentas relacionadas
Decodificador JWT
Decodifique um JSON Web Token para inspecionar cabeçalho, claims e expiração.
Gerador de UUID
Gere UUIDs v4 aleatórios em lote, com cópia.
Gerador de Hash (SHA)
Gere hashes SHA-1, SHA-256, SHA-384 e SHA-512 a partir de texto.
Codificador / Decodificador de URL
Codifique texto para URLs em porcentagem, ou decodifique URLs em texto.
Codificador / Decodificador Base64
Codifique texto em Base64 ou decodifique Base64 de volta em texto.
Formatador e Validador de JSON
Formate, embeleze, minifique e valide JSON no seu navegador.