Curious TechieDev Toolbox
Todos os Guias/Formatos de Dados8 min read

O que é JSON? Guia Técnico sobre o Padrão RFC 8259

Tipos de dados, regras sintáticas estritas, validação de AST, nuances de serialização e resolução de erros de sintaxe.

Principais Conclusões
  • O JSON é um formato leve de intercâmbio de dados padronizado pela RFC 8259 e ECMA-404.
  • Suporta 6 tipos primitivos: String, Number, Boolean, Null, Objeto e Array.
  • As chaves de objetos devem obrigatoriamente estar entre aspas duplas ("chave").
  • Vírgulas sobressalentes no final de arrays ou objetos violam a norma e provocam falha de validação.
  • Os números em JSON não possuem distinção rígida entre inteiros e números de ponto flutuante.

Toda aplicação web moderna, microsserviço em nuvem e backend mobile depende de uma linguagem digital comum para trocar informações estruturadas. Esse formato universal é o JSON (JavaScript Object Notation).

1. Introdução e História

O JSON foi popularizado no início dos anos 2000 por Douglas Crockford como uma alternativa leve e limpa à complexidade excessiva do XML. Embora inspirado na notação literal de objetos do JavaScript, o JSON é totalmente independente de linguagem e padronizado pelos protocolos RFC 8259 e ECMA-404.

2. Os 6 Tipos de Dados Fundamentais

O JSON especifica rigorosamente apenas seis tipos de dados. Qualquer estrutura com tipos externos a esta lista é considerada inválida:

Objeto (Object):{ "userId": 101, "role": "admin" }
Matriz (Array):[ "production", "staging", "dev" ]
Texto (String):"Texto Unicode com aspas duplas"
Número (Number):42, 3.14159, -17, 1.2e5
Booleano (Boolean):true, false
Nulo (Null):null

3. Regras Rígidas de Sintaxe e Gramática

Diferente dos motores tolerantes do JavaScript, os analisadores JSON impõem conformidade total:

  • Aspas Duplas Obrigatórias: Chaves de objetos e textos literais devem usar aspas duplas ("chave"). Aspas simples ('chave') provocam interrupção imediata de sintaxe.
  • Sem Vírgulas Sobressalentes (Trailing Commas): Vírgulas funcionam exclusivamente como separadores. Uma vírgula após o último elemento é um erro de parsing.
  • Proibição de Comentários: A especificação padrão do JSON não aceita comentários com // ou /* */.

4. Análise com Árvore de Sintaxe Abstrata (AST)

Quando um navegador executa JSON.parse(), um analisador léxico determinístico converte tokens de caracteres brutos em uma Árvore de Sintaxe Abstrata (AST) na memória. O parser valida chaves emparelhadas e pares substitutos UTF-8 antes de gerar objetos nativos.

5. JSON vs XML e YAML

Embora o XML domine ecossistemas orientados a documentos com esquemas rígidos (XSD) e o YAML seja preferido para configurações em DevOps, o JSON permanece a escolha padrão em APIs HTTP de alto volume por sua baixa sobrecarga de serialização e parsing nativo instantâneo.

6. Segurança e Boas Práticas

Nunca utilize eval() para processar dados JSON desconhecidos. Utilize sempre JSON.parse() nativo do navegador, que executa desserialização segura sem risco de execução de scripts maliciosos.