Ir para o conteúdo
Totalmente local

Analisador de tamanho JSON

Veja exatamente quais chaves e ramos tornam um documento JSON grande.

Entrada
Saída

Analisador de tamanho JSON

Cole um documento JSON e esta ferramenta o decomponha ramo a ramo, mostrando exatamente quantos bytes cada chave e valor contribuem para o total. Use-a para encontrar o que está tornando uma resposta de API, um ficheiro de configuração ou um blob de estado salvo inchado antes de cortá-lo — um campo de depuração deixado em produção, uma imagem base64 que se infiltrou numa carga útil, ou uma lista que cresceu muito para além do que o cliente realmente necessita.

A opção de profundidade controla quantos níveis são expandidos antes de um ramo entrar em colapso numa única linha de resumo, o que mantém um documento profundamente aninhado legível. Ative as percentagens para ver a participação de cada linha no tamanho total à primeira vista e ordene por tamanho para colocar os ramos mais pesados primeiro em vez de ler na ordem do documento. Agrupe itens de matriz para tratar uma lista como uma linha ou desative-a para ver cada índice detalhado individualmente — útil quando um elemento numa matriz longa é inusitadamente grande. Contar nomes de chaves separadamente adiciona o rótulo citado de uma propriedade ao seu custo em bytes, o que importa mais do que parece uma vez que um documento repete a mesma chave verbosa milhares de vezes numa matriz.

Ativar assinalar valores repetidos marca strings e números que aparecem mais de uma vez em qualquer lugar do documento — um sinal forte de que os dados poderiam ser normalizados ou referenciados em vez de duplicados. Escolha uma vista em árvore para um esboço legível ou uma tabela para uma lista plana e ordenável de caminhos, tipos, tamanhos e contagens. Os tamanhos são medidos em bytes UTF-8, não em caracteres, portanto texto com acentos ou emoji é dimensionado da forma como realmente é armazenado e transmitido.

Tudo é executado localmente no seu browser — o JSON que cola, que pode incluir dados privados de API ou configuração interna, nunca é carregado para lado nenhum. Copie o relatório, descarregue-o como ficheiro .txt ou envie-o diretamente para a entrada de outra ferramenta para continuar a trabalhar no resultado.

FAQ

Por que os tamanhos de ramo não somam exatamente o total?
Cada linha mostra o tamanho em bytes da sua própria serialização JSON. Caracteres estruturais partilhados entre irmãos, como vírgulas e parênteses, são contados uma vez no progenitor em vez de serem divididos entre todos os filhos, portanto o total reflete o tamanho real do documento mesmo que as linhas individuais não somem para ele.
O que conta como um "valor repetido"?
Qualquer string ou número que apareça mais de uma vez em qualquer lugar do documento, independentemente de que chave ele se situe. Os valores booleanos e nulo são excluídos, uma vez que são repetidos por natureza e assinalaria quase todos os documentos.
Por que os tamanhos são medidos em bytes em vez de caracteres?
Os bytes refletem o que é realmente armazenado ou enviado pela rede. Um caractere com acentos ou um emoji pode levar dois a quatro bytes em UTF-8, portanto uma contagem de caracteres subestimaria o tamanho real de texto não-ASCII.
Posso analisar um ficheiro JSON muito grande?
Sim, embora documentos extremamente grandes ou profundamente aninhados possam levar um momento para processar já que tudo funciona no seu browser em vez de num servidor.
O meu JSON é carregado para algum lugar?
Não. A análise funciona inteiramente no seu browser — o seu documento, incluindo quaisquer dados privados que ele contenha, nunca deixa o seu dispositivo.