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.

JSON em 30 segundos (resumo rápido)

  • 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

TipoExemploObservações
String"texto aqui"Sempre entre aspas duplas. Aspas simples não são válidas em JSON.
Número42, 3.14, -7Inteiro ou decimal. Não usa aspas. Não suporta NaN ou Infinity.
Booleanotrue, falseSempre em minúsculas. True ou False não são válidos.
NullnullRepresenta 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.

JSON vs. XML: por que o JSON venceu na web
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.