Gerador de JSON Schema (draft 2020-12)
Gere um JSON Schema (draft 2020-12) a partir de um JSON de exemplo: tipos, chaves obrigatórias, uniões anuláveis, itens de arrays e formatos como email e date-time.
Executa totalmente no seu navegador. Seus dados nunca são enviados.
Ferramentas Relacionadas
Ver TodasO que é Gerador de JSON Schema?
Infira um JSON Schema a partir de um documento de exemplo. O gerador descreve o tipo de cada propriedade, mescla os itens de arrays em um único schema items, lista as chaves obrigatórias, marca valores anuláveis com uniões de tipos e consegue detectar formatos comuns de string.
Como usar Gerador de JSON Schema
- Cole o JSON na caixa Entrada JSON, ou use Carregar exemplo ou Abrir arquivo.
- Opcionalmente, defina um Título do schema.
- Ative ou desative Marcar chaves como obrigatórias, Detectar formatos de texto e Proibir propriedades adicionais.
- A saída JSON Schema é atualizada enquanto você digita; use Copiar ou Baixar.
Exemplo
{"id":1,"email":"a@b.co"} {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": [
"id",
"email"
]
} Quando usar Gerador de JSON Schema
Use-o como ponto de partida para contratos de API, validação de configurações ou geração de formulários. Um schema inferido de um único exemplo só é tão bom quanto o exemplo: acrescente restrições como minimum, enum ou pattern à mão antes de usá-lo para validar dados reais.
Como funciona Gerador de JSON Schema
O exemplo é percorrido recursivamente e cada posição acumula os tipos JSON encontrados (integer, number, string, boolean, object, array, null). Inteiros misturados com decimais viram number; vários tipos viram um array type como ["object", "null"]. Em arrays de objetos, uma propriedade só é obrigatória se todos os objetos a tiverem. A detecção de formatos compara as strings com padrões de date-time, date, time, email, uuid, uri e ipv4 e só acrescenta format quando todos os valores correspondem. O resultado declara $schema: https://json-schema.org/draft/2020-12/schema.
Casos de Uso Comuns
- Criar um schema inicial para o corpo de uma requisição de API
- Validar arquivos de configuração com ajv ou em uma verificação de CI
- Documentar o formato do payload de um webhook
- Gerar formulários a partir de um schema em ferramentas que aceitam JSON Schema
Perguntas Frequentes
Qual draft é gerado?
O draft 2020-12, declarado com a palavra-chave $schema. As palavras-chave usadas (type, properties, required, items, format, additionalProperties) também são válidas no draft-07.
Como as propriedades opcionais são detectadas?
Só a partir de arrays de objetos: se uma chave falta em alguns elementos, ela fica fora de required. Em um único objeto, todas as chaves são obrigatórias quando a opção está ativada.
A validação de formato é aplicada?
No JSON Schema, format é uma anotação por padrão; validadores como o ajv precisam ter a validação de formatos ativada (ajv-formats).