Lição 8

Noções de JSON Schema

Descrever e validar forma do documento com tipos, campos obrigatórios e restrições.

JSON Schema é um vocabulário para anotar documentos JSON com regras: quais propriedades existem, seus tipos e restrições de valor. Equipes usam para validar payloads de API, arquivos de config e dados gerados.

Um schema mínimo

Este schema descreve um objeto com string obrigatória name e número opcional age:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "age": { "type": "integer", "minimum": 0 }
  },
  "required": ["name"],
  "additionalProperties": false
}

Instância válida:

{ "name": "Ada", "age": 30 }

Inválido: name ausente, tipo errado ou chaves desconhecidas extras quando additionalProperties é false.

Keywords principais

KeywordPropósito
typestring, number, integer, boolean, array, object, null
propertiesForma dos campos do objeto
requiredNomes de propriedades obrigatórias
itemsSchema para cada elemento do array
enumValores literais permitidos
minLength / maxLengthLimites de string

Por que schemas importam

  • Contratos entre equipes de frontend e backend
  • Validação automatizada em CI antes do deploy
  • Documentação que permanece legível por máquina
  • OpenAPI frequentemente embute ou referencia JSON Schema para request bodies

Fluxo de validação

  1. Escreva ou gere um schema para o payload esperado.
  2. Execute um validador (biblioteca ou ferramenta) contra o JSON recebido.
  3. Corrija dados ou schema quando casos extremos reais aparecerem — schemas evoluem como código.

Schemas não substituem entender sintaxe JSON das lições anteriores — ficam por cima, descrevendo estrutura permitida quando o JSON já é parseável.

Voltar à visão geral do curso