Validador de JSON Schema
Valide dados JSON contra definições de JSON Schema. Obtenha relatórios de erro detalhados com caminhos. Todo o processamento é feito no seu navegador.
Os dados JSON são válidos em relação ao esquema fornecido!
| Caminho | Erro |
|---|
Como Usar o Validador de JSON Schema
Insira o Esquema
Defina seu JSON Schema que descreve a estrutura esperada.
Insira os Dados
Cole os dados JSON que você deseja validar contra o esquema.
Valide
Clique em Validar e revise os resultados para quaisquer erros.
O que é JSON Schema?
JSON Schema é um vocabulário que permite anotar e validar documentos JSON. Ele fornece um contrato para quais dados JSON são necessários para uma determinada aplicação e como interagir com eles. JSON Schema é usado para validação, documentação e geração de dados de exemplo.
Principais Recursos
Validação de Tipos
Valide tipos: string, number, integer, boolean, array, object, null
Restrições
Comprimento mínimo/máximo, faixa, padrão, campos obrigatórios e mais
Definição de Estrutura
Defina objetos aninhados, arrays e estruturas de dados complexas
Perguntas Frequentes
Esta ferramenta suporta JSON Schema Draft-07, Draft 2019-09 e Draft 2020-12 através da biblioteca Ajv. A maioria dos recursos comuns de esquema é suportada.
Sim! JSON Schema suporta objetos e arrays profundamente aninhados. Você pode definir propriedades e itens em qualquer nível de aninhamento, com regras de validação individuais para cada campo.
A ferramenta primeiro valida se seu esquema é um JSON Schema válido. Se o esquema tiver erros, eles serão relatados antes de tentar validar os dados.
type (string, number, object, array, boolean, null), properties com esquemas aninhados, required que lista as chaves obrigatórias, enum para conjuntos de valores fixos, pattern para cadeias restringidas por expressões regulares e as verificações de intervalo minimum/maximum e minLength/maxLength. additionalProperties: false restringe os objetos quanto a chaves extra. Em conjunto, cobrem a maior parte das regras de validação de APIs.
No JSON Schema moderno, format é uma anotação por defeito, e não uma asserção automática - os validadores só a impõem quando estão configurados para tal, algo que a especificação 2020-12 tornou explícito com um vocabulário format-assertion separado. Utilize pattern ou uma palavra-chave personalizada quando a imposição tiver de ser garantida e trate format como metadados de interoperabilidade nos restantes casos.
Um $ref que aponta para #/$defs/address referencia um fragmento de esquema em $defs e valida contra ele onde quer que seja utilizado - é o mecanismo de desduplicação. O Draft 2020-12 renomeou o antigo definitions para $defs e formalizou $dynamicRef para estruturas recursivas como árvores de comentários. As referências também podem apontar para documentos externos, embora a agregação local seja mais comum.
allOf exige que todos os subesquemas validem - uma interseção, usada para compor um esquema base com restrições adicionais. anyOf exige pelo menos um - uma união, usada para payloads polimórficos. oneOf exige exatamente um; validar dois ou zero subesquemas falha, o que é mais estrito do que as pessoas esperam e é a causa habitual de erros surpreendentes com esquemas sobrepostos.
O 2020-12 dividiu a especificação em vocabulários negociáveis em separado (validation, annotation, format-assertion), renomeou definitions para $defs, simplificou exclusiveMinimum para um número simples e substituiu a antiga palavra-chave items por prefixItems em conjunto com items. A maioria das ferramentas suporta ambos; o draft-07 continua a ser o mais amplamente implementado, mas o 2020-12 é a norma publicada em vigor.
Ferramentas Relacionadas
Referências de Autoridade
As fontes primárias por trás desta ferramenta - normas e especificações oficiais, não resumos de segunda mão.
JSON Schema - 2020-12 Validation Specification
A especificação de validação JSON Schema 2020-12 — a norma publicada atual.
JSON Schema - Learn
O site oficial de aprendizagem do JSON Schema, dos conceitos básicos ao $ref e $defs.
JSON Schema - Wikipedia
O que o JSON Schema valida e o seu papel em contratos de API e na validação de configurações.