Como usar: Validador JSON Schema
- Cole o JSON Schema à esquerda e o JSON a ser verificado à direita (YAML também funciona).
- O draft é detectado a partir de
$schema, ou você pode escolhê-lo manualmente. - Leia a lista de erros: a localização no JSON, o problema e a regra do schema que falhou.
- Ainda não tem um schema? Cole dados de exemplo e clique em Gerar schema a partir dos dados.
O que é JSON Schema?
JSON Schema é um vocabulário para descrever a estrutura de dados JSON: quais propriedades existem, seus tipos, quais são obrigatórias, valores permitidos, formatos de string, faixas numéricas e tamanhos de array. Ele é usado para validar requisições e respostas de APIs, arquivos de configuração, dados de formulários e pipelines de dados, e é a base das definições de requisição e resposta do OpenAPI.
Entendendo os erros
| Coluna | Significado |
|---|---|
| Onde | Um JSON Pointer para o valor com erro, ex.: /items/0/qty = qty do primeiro item |
| Problema | O que está errado: tipo incorreto, propriedade obrigatória ausente, valor não permitido, propriedade inesperada… |
| Regra do schema | O caminho até a palavra-chave no schema que rejeitou o valor, ex.: #/properties/items/items/properties/qty/minimum |
Drafts
O JSON Schema tem várias versões. O draft 2020-12 é o atual (o OpenAPI 3.1 usa ele); o draft-07 ainda é o mais suportado por bibliotecas e editores; o draft-04 aparece em especificações mais antigas, como Swagger 2.0 e OpenAPI 3.0. O validador lê $schema para escolher as regras certas. Diferenças que costumam confundir: o draft-04 usa id em vez de $id e exclusiveMinimum booleano; o 2019-09 trocou definitions por $defs e adicionou unevaluatedProperties.
Erros comuns
- Esquecer
"additionalProperties": false— sem ele, propriedades desconhecidas são aceitas. - Colocar
requireddentro de uma propriedade em vez de no objeto pai. - Esperar que
formatseja aplicado em todos os lugares — muitos validadores apenas anotam formatos, a menos que você peça para verificá-los. - Usar
"type": "integer"para valores como1.0, que algumas linguagens enviam como decimais.
Schemas gerados são um ponto de partida: refine-os com padrões, enums e limites. Explore documentos grandes no visualizador JSON ou gere tipos TypeScript com o JSON para TypeScript. Validando uma especificação de API? Use o validador OpenAPI.
Também pesquisado como: validar json schema, json schema online, ajv online, gerar json schema, json schema draft 2020-12, json para schema.
Ferramentas que combinam com: Validador JSON Schema
- JSON para JSON Schema — Cole um ou mais exemplos de JSON e receba um JSON Schema que os descreve: objetos aninhados, arrays de objetos unificados em um único schema de item, campos required (chaves presentes em todos os exemplos), formatos detectados como email, date-time, URI e UUID, enums opcionais e saída no draft 2020-12 ou draft-07.
- Formatação JSON — Cole o JSON aqui para formatá-lo, compactá-lo ou validá-lo.
- Validador YAML — Cole um arquivo Docker Compose, manifesto Kubernetes, workflow do GitHub Actions ou qualquer YAML para localizar erros, evitar armadilhas comuns e obter uma versão bem formatada.
- Testador de JSONPath — Digite uma consulta JSONPath e veja na hora o que ela seleciona, com o caminho exato de cada resultado.
Perguntas frequentes
Qual validador de JSON Schema esta ferramenta usa?
Dá para gerar um JSON Schema a partir de um JSON?
Ele suporta $ref para outros arquivos?
#/$defs/...) funcionam. URLs externas não são buscadas; insira essas definições diretamente antes.