Validação com JSON Schema Explicada

O que é JSON Schema, como validar dados contra um esquema, padrões comuns e como depurar JSON inválido.

JSON Schema é um vocabulário que permite anotar e validar dados JSON. Define a estrutura, tipos e restrições dos seus dados.

O que é JSON Schema?

Um JSON Schema é ele próprio um documento JSON que descreve a forma esperada de outro documento JSON. Especifica quais campos devem existir, quais tipos devem ter e quais valores são aceitáveis.

{  "type": "object",  "properties": {    "name": { "type": "string" },    "age": { "type": "integer", "minimum": 0 },    "email": { "type": "string", "format": "email" }  },  "required": ["name", "email"]}

Por que usar JSON Schema?

Sem validação, sua aplicação aceita silenciosamente quaisquer dados. JSON Schema captura erros cedo — nos limites da API, durante o carregamento de configuração ou antes de escritas no banco de dados.

  • Contratos de API — Garanta que corpos de requisição e resposta correspondam ao formato esperado.
  • Validação de configuração — Capture erros de digitação em arquivos de configuração.
  • Validação de formulários — Valide entradas do usuário no cliente e servidor.
  • Documentação — Um esquema bem escrito serve como documentação viva.

Palavras-chave principais

type especifica o tipo de dado. Para strings: minLength, maxLength, pattern, format. Para números: minimum, maximum. Para arrays: items, minItems, maxItems. Para objetos: properties, required, additionalProperties.

Composição com allOf, anyOf, oneOf

allOf exige que todos os esquemas correspondam. anyOf exige que pelo menos um corresponda. oneOf exige que exatamente um corresponda.

Depurando JSON inválido

Quando a validação falha, mensagens de erro claras são necessárias. A ferramenta JSON Formatter ajuda a formatar e inspecionar seu JSON.

Melhores práticas

  • Use $ref — Evite duplicar esquemas.
  • Seja específico — Use enum para conjuntos fixos de valores.
  • Versões de esquemas — Use $schema e $id.
  • Valide nos limites — Verifique dados o mais cedo possível.

Experimente

Use uma ferramenta local para validar seus dados JSON — tudo roda no seu navegador.

Frequently asked questions

O que é JSON Schema?
JSON Schema é um vocabulário que permite anotar e validar documentos JSON.
JSON Schema é a mesma coisa que validação?
Não. JSON Schema é a especificação; validação é o processo de verificar dados.
JSON Schema pode validar JSON contra uma especificação de API?
Sim. JSON Schema é comumente usado em especificações OpenAPI/Swagger.
Como depurar um erro de validação de JSON Schema?
A maioria dos validadores retorna o caminho exato onde a validação falhou.