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 suporta undefined. Use null em vez disso.
  • Evite NaN e Infinity. Esses valores tornam-se null durante 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 \n para 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(). Use JSON.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