Saltar para o conteúdo
4all.tools

Ordene chaves de objetos JSON no navegador

Ordene chaves de JSON estrito em ordem crescente ou decrescente, recursivamente ou na raiz, preservando arrays e tokens numéricos originais localmente.

Espaço de trabalho da ferramenta

Ordenar chaves JSON

Ative JavaScript para ordenar JSON localmente no navegador.

As chaves usam ordem textual UTF-16: "10" vem antes de "2" na ordem crescente. Ignorar maiúsculas converte apenas A–Z; É e é continuam distintos. Apenas raiz deixa sem ordenar objetos de uma raiz array. Arrays mantêm as posições dos elementos. Espaços e escapes de strings podem ser normalizados.

Arquivo: 4.000.000 bytes; entrada: 1.000.000 unidades UTF-16; profundidade: 200 contêineres; nós: 100.000; saída: 2.000.000 unidades UTF-16.

Opções de ordenação

Orçamentos: 1.000.000 unidades de análise, 1.000.000 de serialização e 1.000.000 de ordenação. Prefixos longos ou indentação podem esgotar um orçamento antes dos limites de tamanho. Não há garantia de aceitar todos os máximos simultaneamente.

O processamento fica no navegador. Sem envios, URLs remotas ou documentos salvos. Não é canonicalização criptográfica nem JCS.

{"z":{"2":"dos","10":"diez"},"a":[{"b":2,"a":1}]}
Opções de ordenação

Pronto para ordenar.

    Ordene chaves com uma ação explícita

    Cole JSON estrito ou abra um arquivo .json UTF-8. Pressione Ordenar chaves para gerar um resultado separado. Os padrões são crescente, sensível a maiúsculas, recursivo e dois espaços com LF. Há também quatro espaços, tabulação e saída minificada. Carregar um exemplo ou mudar opções não inicia o processamento.

    O exemplo compartilhado é:

    {"z":{"2":"dos","10":"diez"},"a":[{"b":2,"a":1}]}

    Com as opções padrão:

    {
      "a": [
        {
          "a": 1,
          "b": 2
        }
      ],
      "z": {
        "10": "diez",
        "2": "dos"
      }
    }

    Ordem textual, maiúsculas e escopo

    Chaves decodificadas são comparadas ordinalmente por unidades UTF-16. Chaves numéricas são texto: "10" vem antes de "2" na ordem crescente. A ordem sensível é A,B,a,b; Ignorar maiúsculas A–Z produz A,a,B,b, usando a chave original no desempate. Decrescente inverte o resultado inteiro, incluindo desempates. Acentos não são convertidos: É e é continuam distintos e Unicode não é normalizado.

    O modo recursivo ordena todos os objetos, inclusive dentro de arrays. Apenas objeto raiz mantém a sequência fonte dos objetos descendentes; se a raiz for um array, seus objetos não são ordenados. Arrays mantêm a quantidade e as posições dos elementos. Raízes primitivas, objetos e arrays vazios são válidos. Sem objetos elegíveis, a formatação se aplica e aparece um aviso informativo.

    Preserve valores e rejeite ambiguidades

    Strings, chaves decodificadas, booleanos, null e estruturas preservam seus valores. Os tokens originais 9007199254740993, 0.10000000000000001, -0 e 1E+02 são preservados exatamente. O aviso de precisão descreve o valor interno aproximado do parser, não arredondamento da saída. Números fora do intervalo do parser, como 1e400, falham explicitamente.

    {"a":1,"\u0061":2} falha por conter uma chave decodificada duplicada; nenhuma ocorrência é sobrescrita silenciosamente. Comentários, JSONC, JSON5 e JSON malformado são rejeitados. Uma assinatura BOM inicial é removida com aviso; uma segunda assinatura é erro de sintaxe. A saída é reformatada com LF, sem BOM nem quebra final; espaços e grafia exata dos escapes não são preservados. Não é JCS nem canonicalização criptográfica para assinaturas.

    Limites, exportações completas e processamento local

    Arquivos podem ter até 4.000.000 bytes originais. A entrada aceita 1.000.000 unidades UTF-16, profundidade de 200 contêineres, 100.000 nós fonte e saída de 2.000.000 unidades UTF-16. Análise, serialização e ordenação têm cada uma um orçamento de 1.000.000 unidades de trabalho; prefixos longos ou indentação profunda podem esgotá-lo antes do teto de tamanho. Esses máximos não são garantidos simultaneamente. A operação tem 15 segundos e a recuperação da saída tem 5 segundos. São mostrados até 100 diagnósticos e uma prévia de 20.000 unidades.

    A prévia truncada pode ser JSON incompleto. Copiar tudo e Baixar JSON recuperam o resultado completo com todos os dígitos. Se a área de transferência falhar, use o campo completo para cópia manual ou Copiar novamente. O download usa json-sorted.json, UTF-8 e MIME JSON.

    Tudo é processado no navegador, sem envios, URLs remotas ou armazenamento de documentos. Cancelar mantém a fonte e as opções. Editar, escolher um arquivo, mudar opções ou limpar invalida resultados e exportações anteriores. Limpar mantém as opções escolhidas. É necessário JavaScript e um navegador com Worker.