25 Erros de JSON que Todo Desenvolvedor Comete
O JSON é a espinha dorsal da comunicação web. É leve e fácil de ler. No entanto, suas regras são rígidas. Pequenos erros quebram seu código.
Evite esses erros comuns para escrever estruturas de dados melhores.
Erros de Sintaxe
- Use apenas aspas duplas. Aspas simples funcionam no JavaScript, mas falham no JSON.
- Remova vírgulas no final. Uma vírgula após o último item causa um erro.
- Adicione vírgulas ausentes. Cada par chave-valor precisa de uma vírgula entre eles.
- Coloque aspas em todas as chaves. Cada chave deve ter aspas duplas ao seu redor.
- Use os delimitadores corretos. Não use chaves
{}onde deveriam ser colchetes[].
Erros de Tipos de Dados
- Lide com valores
undefined. O JSON não suportaundefined. Usenullem vez disso. - Evite
NaNeInfinity. Esses valores tornam-senulldurante a serialização. - Lembre-se dos formatos de Data. O JSON trata datas como strings. Você deve convertê-las de volta para objetos
Date. - Use números na base 10. Não use formatos hexadecimais ou octais.
- Não armazene funções. O JSON é apenas para dados estáticos.
- Evite comentários. O JSON não permite comentários
//ou/* */. - Escape aspas duplas. Use uma barra invertida para incluir aspas dentro de uma string.
- Use
\npara quebras de linha. Você não pode apertar "enter" dentro de um valor de string. - Escape barras invertidas. Use
\\para caminhos ou padrões de regex.
Erros de Ambiente e Lógica
- Verifique sua entrada. Não passe um objeto para
JSON.parse(). - Atenção ao uso de maiúsculas e minúsculas.
"userId"e"userid"são chaves diferentes. - Não dependa da ordem. O JSON não garante a sequência das chaves.
- Nunca use
eval(). UseJSON.parse()para evitar riscos de segurança. - Proteja números grandes. Passe IDs de 64 bits como strings para evitar perda de precisão.
- Use blocos
try...catch. Um JSON inválido fará sua aplicação travar se você não capturar os erros. - Corrija referências circulares. Você não pode serializar um objeto que aponta para si mesmo.
- Saiba a diferença. O JSON é mais restritivo do que um objeto JavaScript padrão.
- Evite strings vazias. Use
{}ou[]em vez de"".
Como se manter seguro:
- Use um validador para verificar sua sintaxe.
- Use o Prettier no seu editor para formatar arquivos automaticamente.
- Sempre envolva a lógica de parsing em um bloco
try...catch.
Fonte: https://dev.to/jsdevspace/25-json-mistakes-every-developer-makes-36e6
