Pular para o conteudo principal
CuteJSON
↑↓ Navegar Enter Selecionar Esc Fechar

Como minimizar JSON e ver exatamente o que economizou

Publicado 2 min de leitura Por Akash Kinkar Pandey

Minimizar JSON significa remover o espaco em branco que ele nao precisa: os espacos apos dois-pontos e virgulas, a indentacao, e as quebras de linha. Essa e toda a operacao. Nada sobre os valores, sua ordem, ou seu significado muda.

Usando o minimizador de JSON

Cole seu documento, ou carregue o exemplo, e pressione Minimizar. O resultado aparece a direita junto com a contagem de bytes, para que voce possa ver a economia real ao inves de adivinhar. Um arquivo de configuracao indentado tipico encolhe entre 30 e 50 por cento dependendo de quao aninhado ele e e de quao longos sao os nomes das chaves.

Por que formatar e minimizar sao seguros para alternar

Ambas as ferramentas neste site funcionam da mesma forma por baixo dos panos: tokenizam a entrada, validam-na, e reimprimem a partir do fluxo de tokens ao inves de a partir de um valor analisado por JSON.parse. Isso significa que um inteiro longo mantem cada digito e uma chave de objeto que parece um numero mantem a posicao onde voce a escreveu, nao importa a direcao. Voce pode formatar um documento, depois minimiza-lo, depois formatar novamente, e os valores nunca derivam.

Isso importa porque a alternativa comum, passar por JSON.parse e JSON.stringify, arredonda silenciosamente inteiros alem de Number.MAX_SAFE_INTEGER e reordena chaves do tipo inteiro. Um minimizador construido assim e silenciosamente impreciso exatamente nos documentos onde perder um digito importa mais: IDs de banco de dados, timestamps, identificadores externos.

Quando minimizar realmente ajuda

JSON minimizado e para maquinas, nao para a proxima pessoa que tem que ler o arquivo. Vale a pena fazer antes de enviar um documento por uma rede onde cada byte tem um custo, como incorporar um bloco de configuracao em uma URL, armazená-lo em uma coluna de banco de dados com limite de tamanho, ou envia-lo dentro de um pacote de aplicativo movel. Nao vale a pena fazer em um arquivo que voce vai enviar ao controle de versao, ja que um diff minimizado e ilegivel e um formatado nao e.

Uma forma rapida de verificar se minimizar quebrou algo

Se voce minimiza um documento e depois decide verifica-lo, formate-o imediatamente. Ja que ambas as direcoes reimprimem a partir do mesmo fluxo de tokens, o resultado formatado deve ser byte por byte identico ao que voce comecou, exceto qualquer espaco em branco extra que voce tivesse. Se nao for, algo a montante desta ferramenta ja alterou os dados, o que vale a pena saber antes de envia-los.

Voltar a todos os posts