Gere um JSON Schema (draft-07) a partir de dados JSON de exemplo, ou valide qualquer documento JSON contra qualquer esquema com mensagens de erro precisas.
Também: Formatador JSON | Avaliador JSONPath | Todas as ferramentas JSON.
Todo o processamento é feito localmente no seu navegador — nada é enviado.
Gerar esquemaValidar dados
Cole abaixo um objeto JSON de exemplo (ou um array de objetos — as propriedades são combinadas e o required é a união). O esquema é inferido; edite-o depois se precisar de regras mais estritas.
Incluir o cabeçalho $schema — acrescenta no início a declaração do draft-07 para que os validadores saibam que dialeto o esquema usa. Exemplo: "$schema": "http://json-schema.org/draft-07/schema#"
Marcar chaves required — acrescenta à lista de obrigatórias cada chave encontrada no JSON de exemplo. Exemplo: "required": ["name", "price", "inStock"]
Reduzir conjuntos pequenos de valores a enum — quando um array de escalares tem entre 2–8 valores únicos, o tipo dos seus itens é restringido a um enum. Exemplo: "tags": ["sale", "new", "sale"] → "tags": {"type": "array", "items": {"type": "string", "enum": ["sale", "new"]}}
Detetar formatos de texto comuns — reconhece datas ISO, datas com hora, UUIDs, emails e URLs e acrescenta format. Exemplo: "createdAt": {"type": "string", "format": "date-time"}
Os esquemas são interpretados como draft-07. A validação suporta type, enum, required, properties, patternProperties, additionalProperties, items, limites numéricos, comprimento e padrão de strings, arrays e allOf/anyOf/oneOf/not.
Entrada — JSON de exemplo
Esquema gerado (editável)
Esquema (draft-07)
Dados a validar
Resultado
Notas do gerador: os números inteiros passam a "integer"; as strings só ganham format quando a caixa de formato está ativa;
várias objetos JSON num array são combinados (as chaves do mesmo tipo mantêm o primeiro tipo, os tipos mistos recorrem a um array de type;
required é a união de todos os exemplos). Com Validar dados, cada regra que falha é indicada com o seu caminho de ponteiro JSON (p. ex. .items[0].price) para ir diretamente ao valor em causa.
JSON Schema — um contrato, não um sistema de tipos
Um JSON Schema descreve como deve ser um documento válido: que chaves são obrigatórias, que tipos têm os valores, intervalos e padrões. A validação verifica os dados contra esse contrato; não transforma nada. Os esquemas são versionados por draft — esta página gera o draft-07, o dialeto mais amplamente suportado; o 2020-12 é o atual.
Um esquema gerado é uma suposição a partir de exemplos — aperte à mão o required, o enum e o format.
🔷 Ferramentas JSON
Gere JSON Schemas a partir de exemplos e valide dados JSON contra esquemas draft-07.