Ferramentas de Texto5 min
JSON: formatação, validação e boas práticas
Guia prático sobre JSON: o padrão ECMA-404, erros comuns de sintaxe, diferenças entre JSON e JavaScript, e ferramentas para formatar e validar.
JSON (JavaScript Object Notation) é um formato de troca de dados baseado em texto definido pela RFC 8259 e ECMA-404. É amplamente adotado em APIs REST, configurações de projetos e comunicação entre serviços. Sua popularidade vem da simplicidade: texto legível, suportado nativamente em toda linguagem moderna.
Tipos válidos em JSON
- string: sempre entre aspas duplas — "texto"
- number: inteiro ou float — 42, 3.14, -7, 1e10
- boolean: true ou false (minúsculos)
- null: nulo (minúsculo)
- array: lista ordenada — [1, "dois", true]
- object: mapa chave-valor — {"chave": "valor"}
Erros de sintaxe mais comuns
- Vírgula no último elemento: {"a":1, "b":2,} — INVÁLIDO
- Aspas simples: {'chave': 'valor'} — INVÁLIDO (somente aspas duplas)
- Comentários: // ou /* */ — INVÁLIDO (JSON não tem comentários)
- Chaves sem aspas: {chave: "valor"} — INVÁLIDO
- Valores undefined ou funções — INVÁLIDO (não existem em JSON)
JSON5 e JSONC são supersets do JSON que adicionam comentários e vírgulas opcionais. São usados em arquivos de configuração (tsconfig.json aceita comentários), mas não são JSON padrão e não devem ser usados em APIs.
Boas práticas com JSON em APIs
- Sempre especifique Content-Type: application/json nos headers
- Use snake_case ou camelCase consistentemente em todo o projeto
- Não use null onde um campo pode ser omitido — prefira omitir o campo
- Para datas, use ISO 8601: "2024-01-15T10:30:00Z"
- Para decimais monetários, prefira string ou integer em centavos para evitar float imprecisão
JSON.stringify e JSON.parse no JavaScript
// Serializar com indentação
JSON.stringify(objeto, null, 2);
// Revisor para excluir campos
JSON.stringify(usuario, ['nome', 'email']);
// parse com tratamento de erro
try {
const data = JSON.parse(texto);
} catch (e) {
console.error('JSON inválido:', e.message);
}Use o Formatador de JSON do UtilDev para identar, minificar e validar JSON instantaneamente. O Validador aponta o erro na linha e coluna exatos, economizando tempo na depuração de APIs.