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
enumpara conjuntos fixos de valores. - Versões de esquemas — Use
$schemae$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.