Tudo sobre o Padrão JSON (RFC 8259) e Otimização de APIs
Aprenda a estruturar dados legíveis, evitar armadilhas comuns de sintaxe e reduzir consumo de banda com minificação.
Erros Mais Frequentes em Arquivos JSON
- Vírgula no último item (Trailing Comma): Ao contrário do JavaScript moderno, a especificação oficial do JSON proíbe terminadores com vírgula (ex:
[1, 2, 3,]é inválido). - Aspas Simples: Em JSON válido, todas as chaves e textos devem obrigatoriamente usar aspas duplas.
- Valores Não Suportados: Funções,
undefined,NaNeInfinitynão são aceitos no padrão JSON.
Formatação vs Minificação em Produção
Durante o desenvolvimento, a formatação com recuo de 2 ou 4 espaços é essencial para legibilidade humana e depuração de APIs.
No entanto, em ambientes de produção, minificar o payload JSON remove todos os espaços em branco e quebras de linha inúteis, reduzindo o tamanho do arquivo em até 30% a 50%, economizando banda de rede e acelerando respostas HTTP.
Tipos de Dados Primitivos Aceitos na Especificação RFC 8259
| Tipo | Sintaxe Válida | Exemplo | Observações Críticas |
|---|---|---|---|
| String | Sempre entre aspas duplas | "nome": "DevTools" | Caracteres especiais devem ser escapados (\", \\, \n, \t). |
| Number | Ponto flutuante IEEE 754 | 42 ou -3.1415 | Não suporta representações hexadecimais (0xFF) nem NaN. |
| Boolean | Literais em minúsculo | true ou false | Palavras como True ou FALSE em maiúsculo são sintaxes inválidas. |
| Null | Literal null | "endereco": null | Representa ausência intencional de valor. Não confundir com undefined. |
| Object | Pares chave/valor entre chaves | {"status": 200} | Chaves obrigatoriamente strings entre aspas duplas. |
| Array | Lista indexada entre colchetes | [1, 2, "tres"] | Pode conter coleções heterogêneas de quaisquer tipos válidos. |
Perguntas Frequentes sobre JSON (FAQ)
Por que o JSON não permite comentários nativos?
Douglas Crockford, o criador da especificação JSON, removeu intencionalmente os comentários em 2000 para impedir que desenvolvedores inserissem diretivas de pré-processamento que quebrassem a interoperabilidade universal entre diferentes linguagens de programação.
Existe risco de segurança em usar eval() para ler JSON?
Sim, altíssimo risco. Nunca utilize eval() para fazer parse de JSON recebido de fontes externas, pois isso permite execução remota de código malicioso (RCE / XSS). Utilize sempre o método nativo e seguro JSON.parse().