JSON (JavaScript Object Notation) é um formato leve de troca de dados baseado em texto que é fácil de ler por humanos e fácil de processar por máquinas — e entender o que é JSON é essencial para qualquer desenvolvedor web, pois é o formato padrão de comunicação entre APIs REST, entre frontend e backend, e entre sistemas que precisam trocar informações estruturadas. Criado no início dos anos 2000 por Douglas Crockford, o JSON se tornou onipresente no desenvolvimento moderno justamente por ser simples, compacto e suportado nativamente por praticamente todas as linguagens de programação. Neste artigo, você vai entender tudo sobre JSON o que é formato dados API JavaScript desenvolvimento e como aplicar na prática.
Neste guia, você vai entender a sintaxe do JSON, os tipos de dados que ele suporta, como usá-lo em JavaScript e outras linguagens, e as diferenças em relação ao XML.
- O que é: Formato de texto para troca de dados estruturados — padrão de facto das APIs REST.
- Extensão: .json | Tipo MIME: application/json
- Tipos de dados: String, número, booleano, null, array e objeto.
- Baseado em: Sintaxe de objetos do JavaScript, mas independente de linguagem.
- Alternativas: XML (mais verboso), YAML (mais legível para humanos), MessagePack (binário, compacto).
O que é JSON: sintaxe e estrutura
O JSON é formado por dois tipos de estrutura: objetos (pares chave-valor entre chaves {}) e arrays (listas ordenadas de valores entre colchetes []). Essas estruturas podem ser aninhadas, permitindo representar dados complexos de forma hierárquica. A especificação oficial do JSON está em json.org, mantida por Douglas Crockford, o criador do formato.
Um exemplo de objeto JSON simples representando um usuário:
{
"nome": "Gabriel",
"idade": 32,
"ativo": true,
"email": "gabriel@exemplo.com.br",
"enderecos": [
{
"tipo": "residencial",
"cidade": "São Paulo",
"estado": "SP"
},
{
"tipo": "comercial",
"cidade": "Campinas",
"estado": "SP"
}
],
"telefone": null
}Os seis tipos de dados do JSON
| Tipo | Exemplo | Observações |
|---|---|---|
| String | "texto aqui" | Sempre entre aspas duplas. Aspas simples não são válidas em JSON. |
| Número | 42, 3.14, -7 | Inteiro ou decimal. Não usa aspas. Não suporta NaN ou Infinity. |
| Booleano | true, false | Sempre em minúsculas. True ou False não são válidos. |
| Null | null | Representa ausência de valor. Sempre em minúsculas. |
| Array | [1, "dois", true] | Lista ordenada de qualquer tipo de valor. Pode misturar tipos. |
| Objeto | {"chave": "valor"} | Coleção de pares chave-valor. Chaves devem ser strings com aspas duplas. |
JSON em JavaScript: parse e stringify
JavaScript oferece dois métodos nativos para trabalhar com JSON. JSON.parse() converte uma string JSON em um objeto JavaScript — usado para interpretar dados recebidos de uma API. JSON.stringify() converte um objeto JavaScript em uma string JSON — usado para enviar dados a uma API ou armazenar em localStorage.
// Recebendo dados de uma API (string JSON → objeto JS)
const resposta = '{"nome": "Gabriel", "idade": 32}';
const usuario = JSON.parse(resposta);
console.log(usuario.nome); // "Gabriel"
// Enviando dados para uma API (objeto JS → string JSON)
const dados = { produto: "Notebook", preco: 3500 };
const json = JSON.stringify(dados);
console.log(json); // '{"produto":"Notebook","preco":3500}'JSON em outras linguagens
Uma das razões do sucesso do JSON é o suporte nativo em praticamente todas as linguagens modernas. Em Python, os módulos json.loads() e json.dumps() fazem o parse e a serialização. Em PHP, json_decode() e json_encode(). Em Java, bibliotecas como Jackson e Gson são amplamente usadas. Em Go, o pacote encoding/json da biblioteca padrão. Mesmo linguagens como SQL suportam JSON nativamente em bancos como PostgreSQL, MySQL 5.7+ e SQLite 3.38+, permitindo armazenar e consultar dados JSON diretamente no banco.
XML (eXtensible Markup Language) foi o padrão dominante de troca de dados na web durante os anos 2000. JSON substituiu o XML na maioria dos contextos por razões práticas: é significativamente mais compacto (menos bytes transmitidos), mais fácil de ler e escrever, nativo no JavaScript (sem parsing adicional) e mais simples de depurar. O mesmo dado que ocupa 200 bytes em JSON pode ocupar 400 bytes ou mais em XML por causa das tags de abertura e fechamento. XML ainda tem casos de uso onde brilha — documentos com esquema XML estrito, arquivos de configuração com namespaces e integração com sistemas SOAP legados — mas para APIs REST modernas, JSON é o padrão.
Perguntas frequentes sobre JSON
JSON aceita comentários?
Não. A especificação oficial do JSON não permite comentários — é uma das críticas mais comuns ao formato. Se você tentar adicionar comentários estilo // comentário ou /* comentário */ em um arquivo .json puro, o parser vai falhar. Para arquivos de configuração que precisam de comentários, alternativas como JSONC (JSON with Comments, usado pelo VS Code para settings.json) ou YAML são mais adequadas. Em APIs, o campo de comentário é simplesmente ignorado — se precisar, adicione um campo específico como "_comentario": "explicação".
Qual a diferença entre JSON e YAML?
JSON e YAML são formatos de serialização de dados com casos de uso sobrepostos mas diferentes. JSON é estrito, amplamente suportado, rápido para fazer parse e ideal para APIs. YAML é mais legível por humanos (indentação em vez de chaves e colchetes), suporta comentários nativamente e é o formato preferido para arquivos de configuração — como o docker-compose.yml e os manifestos Kubernetes. Todo JSON válido é tecnicamente YAML válido, mas o inverso não é verdadeiro. Para APIs: JSON. Para configuração de devops e infraestrutura: YAML.
Como validar um JSON?
Existem várias opções para validar se um JSON está bem formatado. Online: JSONLint (jsonlint.com) e JSON Formatter (jsonformatter.curiousconcept.com) são ferramentas gratuitas para colar e validar JSON no browser. No VS Code: abrir um arquivo .json e o editor destaca erros de sintaxe automaticamente. Via terminal: python3 -m json.tool arquivo.json valida e formata o JSON com identação legível. Para validação de estrutura (não apenas sintaxe), JSON Schema permite definir e validar o esquema esperado dos dados.
O que é JSON Schema?
JSON Schema é uma especificação para descrever e validar a estrutura de documentos JSON. Funciona como um contrato: você define quais campos são obrigatórios, quais tipos cada campo aceita, intervalos válidos para números, formatos para strings (email, URL, data) e outras restrições. Ferramentas de validação verificam se um documento JSON está em conformidade com o schema definido. É amplamente usado para validar requisições de API, gerar documentação automática (Swagger/OpenAPI usa JSON Schema) e garantir contratos de dados entre sistemas. O site oficial do JSON Schema tem a especificação completa e ferramentas de validação.
Conclusão
O JSON se tornou o formato de troca de dados padrão da web moderna justamente por combinar simplicidade com poder: sua sintaxe é mínima, o suporte é universal e a curva de aprendizado é baixa. Dominar JSON — sintaxe, parse, stringify e JSON Schema — é uma habilidade fundamental para qualquer desenvolvedor web, independente da linguagem de programação utilizada.
Para mais conteúdos sobre desenvolvimento web e tecnologia, explore os artigos de Desenvolvimento no atraca.com.br.
