UM POUCO MAIS DE CLAREZA

Formate JSON sem alterar números grandes

Por que a formatação deve preservar os literais numéricos e como lidar com chaves duplicadas e validação estrita.

ToolMellow ·

Formatar não é converter dados

Um formatador deve tornar o texto original mais fácil de ler sem alterar silenciosamente seus valores. O Number do JavaScript não consegue representar com exatidão todos os inteiros acima de 9007199254740991. Por isso, analisar um inteiro maior como Number e serializá-lo de novo pode alterar o valor original.

Mantenha os tokens originais

O ToolMellow valida o JSON e aplica edições de espaços em branco ao texto original. Ele não faz o documento passar por JSON.stringify, ida e volta, para formatá-lo. Grafias numéricas como 9007199254740993 e 1e+20 são preservadas. Minificar remove os espaços em branco insignificantes mantendo os mesmos tokens.

Resolva as chaves duplicadas deliberadamente

Um objeto JSON pode conter nomes de membros repetidos no texto original, mas os consumidores lidam com eles de formas diferentes e costumam manter o último valor. O formatador avisa sobre chaves duplicadas sem escolher qual excluir. Revise o texto original e decida quais dados são os pretendidos.

Use JSON estrito onde JSON estrito é exigido

Comentários, vírgulas finais e strings entre aspas simples não são aceitos por este validador. Um erro inclui linha e coluna. A ferramenta não executa o texto colado nem o repara silenciosamente; corrija o problema indicado e valide de novo.

Verifique também o consumidor

Preservar um literal aqui não muda a forma como um aplicativo posterior o analisa. Se sua API precisa de identificadores exatos ou de aritmética decimal, escolha um esquema e um analisador adequados nesse aplicativo. Um documento formatado, por si só, não é prova de precisão de ponta a ponta.

Coloque em prática.