IA no seu dispositivo — profissional e privado.

Ordenador de chaves JSON

Ordene chaves JSON sem tocar em um único valor.

  • Sem envio
  • Valores byte a byte
  • Duplicadas mantidas
  • JSON, JSONC e NDJSON

Solte um arquivo JSON aqui

JSON, JSONC, NDJSON ou JSON Lines · até 25.0 MB

Ajustes de ordenação
Predefinições
Ordem
Ordem
Direção
Profundidade
Profundidade

Arrays não contam como nível, então “Apenas o primeiro nível” ordena cada registro de uma lista.

Avançado
Saída
Indentação
Lote
Pro

A versão gratuita ordena um documento por vez.

O que este ordenador de chaves JSON faz

Ordene alfabeticamente as chaves dos objetos JSON de forma recursiva para obter uma saída estável e boa para diffs, preservando a ordem dos arrays e uma formatação limpa. Objetos aninhados são processados recursivamente; a ordem dos elementos dos arrays fica inalterada a menos que peça. Cole, envie ou arraste e solte; um JSON inválido mostra a linha, a coluna e um marcador no problema, com links para o Formatador e o Validador. Escolha saída com 2 espaços, 4 espaços, tabulação ou minificada e baixe o arquivo ou copie o resultado.

  • Três ordens — alfabética, natural (item2 antes de item10) ou por comprimento da chave, em qualquer direção.
  • Chaves fixadas — liste os campos que devem ficar no topo e eles ficam lá, em todos os níveis, com o resto ordenado abaixo.
  • Um limite de profundidade — ordene todos os níveis, apenas o mais externo ou até onde escolher.
  • Valores byte a byte — inteiros grandes, 1.0, 1e5 e caracteres com escape saem exatamente como entraram.
  • Duplicadas mantidas — ambos os membros sobrevivem e são contados, ou você pode remover um de propósito.
  • Comentários e JSON Lines — comentários JSONC se movem com a chave que descrevem, e arquivos de um documento por linha são ordenados linha a linha.

A ordenação roda fora da thread principal da página, então a interface continua respondendo enquanto um documento grande é processado.

O que o ordenador nunca altera

Quase todas as ferramentas JSON funcionam do mesmo jeito: analisam o documento na memória, reorganizam e serializam de novo. Essa ida e volta não é de graça, e as perdas são silenciosas: o arquivo parece certo, é JSON válido, e não diz mais o que dizia. Esta ferramenta edita o texto, copiando cada valor caractere por caractere, então cinco coisas sobrevivem que de outro modo não sobreviveriam.

  • Inteiros grandes — um identificador como 12345678901234567890 volta com os seus vinte dígitos. Uma cópia analisada devolve 12345678901234567000, porque passou por um número de ponto flutuante.
  • Como um número é escrito — 1.0 continua 1.0, 1e5 continua 1e5 e 0.10 mantém o zero final. Uma ida e volta reescreve os três.
  • Chaves duplicadas — um documento com a mesma chave duas vezes mantém as duas. Um analisador mantém só a última, e nada avisa.
  • Escapes em textos — uma chave ou valor escrito como \u00e9 continua assim em vez de ser reescrito como o caractere que representa.
  • Chaves parecidas com números — uma chave chamada "10" fica onde a ordenação a colocou. Reconstruída na memória, é tratada como índice de array, elevada acima de todas as outras chaves e reordenada por tamanho, seja qual for a ordem pedida.

Escolher uma ordem

Qual ordem serve depende do que vai ler o arquivo depois, então as três estão a um clique e nenhuma está atrás de um upgrade.

  • Alfabética — compara as chaves como texto, caractere por caractere. É o que uma ferramenta de diff, um esquema e a maioria dos guias de estilo esperam, e é o padrão.
  • Natural — lê os dígitos dentro de uma chave como números, então item2 vem antes de item10. Útil sempre que as chaves são numeradas.
  • Comprimento da chave — as mais curtas primeiro, empates resolvidos alfabeticamente. Prático para percorrer um objeto de configuração largo onde as chaves curtas são as que se ajustam.
  • Ignorar maiúsculas — junta Nome e nome em vez de os separar em dois blocos, usando a escrita original apenas para desempatar.
  • Direção — qualquer ordem pode ser invertida. Chaves fixadas continuam fixadas; inverter o resto não as empurra para o fim.
  • Por valor — ordena os membros de cada objeto pelo que eles contêm em vez de pelo nome. Os valores se agrupam por tipo — null, depois booleanos, depois números, depois texto — e se ordenam dentro dele; um membro que contém um objeto ou uma lista não tem valor simples e vai para o fim.

Fixar as chaves que importam

Um arquivo puramente alfabético é consistente mas nem sempre legível: o campo que se procura primeiro acaba onde o alfabeto o coloca. Listar chaves em Fixar estas chaves no topo as coloca no topo na ordem escrita e ordena todo o resto abaixo.

  • Em todos os níveis — uma chave fixada está fixada onde quer que apareça, não apenas no objeto externo.
  • Correspondência por prefixo — um asterisco final abrange uma família inteira de chaves, então x-* mantém todos os campos de extensão no topo.
  • Vence a primeira correspondência — escrever name antes de n* fixa name acima de nickname em vez de deixar o coringa reivindicá-lo.
  • Uma lista pronta — a predefinição package.json preenche a caixa com os campos com que esse arquivo costuma abrir, para que um manifesto de projeto seja ordenado como os revisores esperam.

Até onde a ordenação vai

Ordenar a árvore inteira costuma ser o que se quer, mas nem sempre: um arquivo de configuração muitas vezes tem uma ordem com sentido dentro das suas seções que deveria sobreviver enquanto as seções em si são ordenadas. Profundidade controla exatamente isso.

  • Todos os níveis — todos os objetos do documento, por mais fundos que estejam. O padrão.
  • Apenas o primeiro nível — as chaves do objeto externo se movem e nada abaixo delas.
  • Um número de níveis — ordene dois ou três níveis e deixe o resto como está.
  • Arrays são transparentes — um array não gasta um nível, então Apenas o primeiro nível numa lista de registros ordena as chaves de cada registro. Contar os arrays faria o ajuste não fazer nada na forma mais comum que existe.

Chaves duplicadas e o que fazer com elas

JSON permite a mesma chave duas vezes num objeto. Os analisadores não: mantêm uma e descartam o resto, quase sempre em silêncio, e por isso uma duplicada pode atravessar várias ferramentas e só ser notada quando um valor some. Este ordenador as conta, mostra o número e deixa você decidir.

  • Manter todas — ambos os membros são escritos, lado a lado depois da ordenação. O documento mantém tudo o que trouxe. É o padrão.
  • Manter a primeira — a primeira ocorrência de cada chave é mantida e as posteriores removidas, com a contagem informada.
  • Manter a última — a última ocorrência vence, que é o que um analisador JavaScript teria feito de qualquer forma, mas de modo visível e proposital.
  • Aplicado em todo lugar — a remoção não depende do ajuste de profundidade. Pedir para remover duplicadas significa em todo o documento, não apenas até onde a ordenação chega.

Arrays e quando eles se movem

A posição num array carrega significado, então nada reordena um array a menos que você ative. Dois ajustes fazem isso, e ambos só agem quando o array inteiro encaixa na regra — um array meio ordenado seria uma saída que ninguém conseguiria prever a partir do controle que a produziu.

  • Ordenar arrays de valores simples — reordena arrays cujos elementos são todos textos, números, booleanos ou null. Os valores se agrupam por tipo e se ordenam dentro dele.
  • Ordenar listas de objetos por uma propriedade — indique um campo como id e uma lista de registros é ordenada por ele. Registros sem esse campo mantêm a ordem relativa no fim.
  • Chaves dentro de arrays sempre ordenam — as chaves de um objeto dentro de um array seguem as regras normais, estejam ou não ativos os ajustes de arrays. Só a posição dos elementos é protegida.

Arquivos que esta ferramenta abre

Quatro extensões, e tudo o que a ferramenta não consegue abrir é recusado já na caixa de diálogo, com o motivo e uma saída, em vez de aceito e falhando no meio do caminho.

  • .json — um documento JSON, lido de forma estrita. Comentários e vírgulas finais são recusados a menos que você os ative, porque aceitá-los em silêncio faria a ferramenta discordar sobre o que é JSON válido.
  • .jsonc — JSON com comentários e vírgulas finais, a variante usada por tsconfig.json e pelas configurações do VS Code. Os comentários continuam ligados à chave abaixo deles e se movem com ela.
  • .ndjson e .jsonl — um documento por linha. Cada linha é ordenada separadamente e escrita na sua própria linha, então a saída continua sendo JSON Lines válido; o ajuste de indentação não se aplica e a ferramenta avisa.
  • .txt — aceito para que um documento salvo sem extensão ainda abra. O conteúdo ainda precisa ser JSON.

Como ordenar chaves JSON

Quatro passos, e para o caso comum só os dois primeiros são necessários.

  1. Adicione o seu JSON — Solte um arquivo .json, .jsonc, .ndjson ou .jsonl na página, procure um no seu computador ou cole o JSON na caixa abaixo da área de soltar. O documento é lido no seu dispositivo e nunca é enviado.
  2. Escolha uma ordem — Selecione ordem alfabética, natural ou por comprimento da chave e uma direção. Ative Ignorar maiúsculas se a capitalização não deve decidir a posição, e defina até que nível a ordenação chega.
  3. Ajuste o avançado — Abra Avançado para fixar chaves no topo, decidir o que acontece com chaves duplicadas, ordenar arrays de valores simples, ordenar uma lista de objetos por uma de suas propriedades ou aceitar comentários e vírgulas finais.
  4. Ordene e baixe ou copie — Clique em Ordenar chaves. Escolha 2 espaços, 4 espaços, tabulação ou saída minificada e baixe o arquivo ou copie o resultado. Se mudar um ajuste, o resultado é marcado como feito com ajustes anteriores para que possa reaplicar.

Opções num relance

  • Ordem — alfabética, natural ou por comprimento da chave, crescente ou decrescente, com opção de ignorar maiúsculas.
  • Profundidade — todos os níveis, apenas o primeiro ou um número de níveis. Arrays não contam como nível.
  • Fixar estas chaves no topo — uma lista separada por vírgulas, com asterisco final para correspondência por prefixo.
  • Chaves duplicadas — manter todas, a primeira ou a última, com o número removido informado.
  • Ordenação de arrays — opcionalmente ordene arrays de valores simples ou listas de objetos por uma propriedade indicada.
  • Aceitar comentários e vírgulas finais — ler JSONC em vez de JSON estrito.
  • Ler a entrada como — detecção automática, ou forçar um documento JSON ou JSON Lines.
  • Saída — 2 espaços, 4 espaços, tabulação ou minificada, com quebra de linha final opcional.
  • Baixar e copiar — salve o documento ordenado ou copie-o para a área de transferência. Usuários Pro podem baixar um lote inteiro como um único arquivo compactado.

Perguntas frequentes

Como funciona a ordenação de chaves JSON?

A ferramenta lê o seu JSON, descobre onde cada chave e cada valor estão no texto e reescreve o documento com os membros de cada objeto na ordem pedida. Como trabalha sobre o texto e não sobre uma cópia analisada, os valores são levados intactos e apenas a ordem e o formato são novos. O resultado é JSON válido que você pode baixar ou copiar.

Objetos aninhados também são ordenados?

Sim, por padrão. A ordenação é recursiva: todos os objetos em qualquer profundidade têm as chaves ordenadas, inclusive objetos dentro de arrays. Se quiser tocar apenas o nível externo, defina Profundidade como Apenas o primeiro nível ou escolha um número de níveis. Arrays não contam como nível, então Apenas o primeiro nível numa lista de registros ordena as chaves dentro de cada registro.

Os elementos dos arrays são reordenados?

Não, a menos que você peça. A posição num array carrega significado, então por padrão apenas as chaves de objetos se movem. Dois ajustes opcionais mudam isso: um ordena arrays cujos elementos são todos valores simples e outro ordena uma lista de objetos por uma propriedade que você indicar, como id. Ambos estão desligados até serem ativados, e nenhum toca um array que não encaixe exatamente na regra.

A ordenação altera os meus valores?

Não. Os valores são copiados direto do seu arquivo, caractere por caractere. Isso importa mais do que parece: uma ferramenta que analisa JSON e o serializa de novo transforma 12345678901234567890 em 12345678901234567000, reescreve 1.0 como 1 e 1e5 como 100000, e reescreve caracteres com escape. Nada disso acontece aqui, então um arquivo ordenado difere do original apenas na ordem das chaves e nos espaços.

O que acontece com chaves duplicadas?

Elas são mantidas e contadas. A maioria das ferramentas JSON descarta silenciosamente todas menos a última, porque o analisador que usam as junta antes que a ferramenta as veja. Aqui ambos os membros sobrevivem e aparecem lado a lado no resultado. Se preferir removê-las, defina Chaves duplicadas como Manter a primeira ou Manter a última e a ferramenta informa quantas removeu.

Posso colocar certas chaves no topo?

Sim. Abra Avançado e liste-as em Fixar estas chaves no topo, separadas por vírgulas. Elas aparecem na ordem que você escrever, acima de todo o resto, em todos os níveis do documento. Um asterisco final corresponde a um prefixo, então x-* fixa todos os campos de extensão. A predefinição package.json é essa função já preenchida com os campos com que esse arquivo costuma começar.

O que é ordem natural?

A ordem natural lê sequências de dígitos dentro de uma chave como números, então item2 vem antes de item10. A ordem alfabética simples as compara como texto, onde 1 vem antes de 2 e por isso item10 aparece primeiro. Ambas estão corretas para trabalhos diferentes: a alfabética é o que a maioria das ferramentas de diff e dos esquemas espera, a natural se lê melhor quando as chaves são numeradas.

Ele lê arquivos com comentários ou com um documento por linha?

Sim para ambos. Ative Aceitar comentários e vírgulas finais em Avançado para ler JSONC, a variante usada por tsconfig.json e pelas configurações do VS Code; os comentários continuam ligados à chave sobre a qual estão e se movem com ela. Arquivos com um documento JSON por linha, como exportações .ndjson e .jsonl, são detectados automaticamente e cada linha é ordenada separadamente.

Os meus dados JSON estão seguros?

Sim. Toda a ordenação acontece no seu dispositivo, então nada é enviado e não existe cópia do seu documento em outro lugar. Isso significa que pode ordenar configurações privadas, respostas de API e dados de clientes com segurança, e a ferramenta continua funcionando sem rede depois que a página carrega.

Por que ordenar chaves JSON e que tamanho é aceito?

A ordem das chaves não é garantida entre linguagens, bibliotecas ou serializadores, então duas exportações dos mesmos dados podem diferir apenas na ordem e encher uma revisão de código de ruído. Uma ordem estável faz um diff mostrar as mudanças reais. A versão gratuita ordena um documento de até 25 MB por vez e inclui todos os recursos de ordenação; o Pro remove o limite de tamanho até o que o seu dispositivo aguentar, ordena até 20 documentos de uma vez e os devolve num único arquivo compactado.

4.8de 5

de 68 avaliações

Avalie esta ferramenta

Toque numa estrela — leva um segundo