Programação · dados · web
O que é o JSON?
Abre quase qualquer resposta de uma API web, um ficheiro de configuração JavaScript ou as definições guardadas de uma app moderna, e verás aí JSON. É o formato que transporta discretamente a maioria dos dados estruturados que circulam pela Internet. Este guia explica o que é o JSON, a sua pequena sintaxe, porque se impôs, a comparação com XML e onde mostra os seus limites.
A definição curta
O JSON (JavaScript Object Notation) é um formato leve, baseado em texto, para representar dados estruturados. É fácil de ler para os humanos e fácil de analisar para as máquinas e, apesar do nome, é independente da linguagem — praticamente todas as linguagens de programação sabem lê-lo e escrevê-lo.
A sintaxe, num exemplo
O JSON é construído a partir de um punhado de tipos de valor: objetos, arrays, strings, números, booleanos e null. Um objeto é um conjunto de pares chave–valor entre chavetas; um array é uma lista ordenada entre parênteses retos:
{
"name": "Ada",
"age": 36,
"active": true,
"roles": ["admin", "author"],
"address": { "city": "London", "zip": "EC1" }
} Isto é essencialmente todo o formato. As chaves são sempre strings entre aspas duplas; os valores podem ser eles próprios objetos ou arrays, pelo que o JSON se aninha a qualquer profundidade. Não há funções, nem variáveis, nem lógica — descreve dados, nada mais.
Porque é que o JSON está em todo o lado
- As API falam-no. Quando uma app pede dados a um servidor, a resposta é quase sempre JSON. Projeta-se de forma limpa nos objetos e arrays que cada linguagem já possui.
- É legível por humanos. Podes abrir uma resposta JSON e compreendê-la sem ferramentas, o que torna a depuração muito mais fácil do que com os formatos binários.
- É minúsculo e universal. A especificação é pequena, cada linguagem inclui um analisador de JSON, e o formato acrescenta pouca sobrecarga.
- Os ficheiros de configuração usam-no. De
package.jsona inúmeras definições de ferramentas, o JSON é uma forma comum de guardar a configuração.
JSON vs XML
Antes do JSON, o XML era o formato de troca de dados comum. O XML é mais verboso — cada valor está rodeado por etiquetas de abertura e de fecho — e suporta funcionalidades como atributos, espaços de nomes e esquemas que o JSON não tem. O JSON venceu nas API web porque é mais leve, menos ruidoso e projeta-se diretamente nos objetos JavaScript no navegador. O XML continua a ter o seu lugar onde as suas funcionalidades documentais mais ricas contam; para a maioria das trocas de dados, o JSON é a escolha por omissão.
Os limites honestos
A simplicidade do JSON tem as suas contrapartidas. Não tem comentários, por isso não podes anotar em linha um ficheiro de configuração. Não tem um tipo data — as datas são passadas sob a forma de strings por convenção. Não tem um esquema integrado (embora ferramentas como o JSON Schema acrescentem um em separado), e os documentos JSON grandes são menos eficientes do que os formatos binários concebidos de propósito. Para a maioria dos dados web, nada disto tem importância; para dados muito volumosos ou fortemente tipados, é bom saber.
FAQ
O JSON é exclusivo do JavaScript? Não. O nome vem da sintaxe JavaScript, mas o JSON é independente da linguagem — Python, Go, Rust, Java e os outros leem-no e escrevem-no nativamente.
Qual é a diferença entre JSON e um objeto JavaScript? Parecem-se, mas o JSON é um formato de texto (uma string); um objeto JavaScript é um valor vivo em memória. Tu analisas (parse) texto JSON num objeto, e serializas (stringify) um objeto de volta para JSON.
O JSON pode guardar comentários? Não. O formato omite deliberadamente os comentários. Algumas ferramentas aceitam variantes „JSON com comentários“, mas o JSON padrão não.
Como são tratadas as datas em JSON? Sob a forma de strings, por convenção — geralmente no formato ISO 8601 como „2026-06-14“. O próprio JSON não tem um tipo data dedicado.
O JSON é a metade „dados“ da maioria das comunicações web; o mecanismo de pedido-e-resposta que o rodeia é a API. Explora outras explicações claras no nosso índice de guias.