Gerador JSON Schema

Gratuito DevTools

Gerador JSON Schema

Gere JSON Schema (draft-07) automaticamente a partir de um JSON de exemplo. Suporta objetos aninhados, arrays, campos nulos com oneOf/null e additionalProperties. 100% no navegador.

2.9k usuarios Atualizado em Mar 2026 4.7/5
Avalie esta ferramenta:
4.7 (534 votos) Obrigado!
Gerador JSON Schema Online
JSON invalido
// O JSON Schema gerado aparecera aqui...

Como Usar

Gere um JSON Schema completo a partir de qualquer JSON de exemplo.

1
Cole o JSON
Insira um JSON de exemplo representativo no painel de entrada. O schema e gerado automaticamente.
2
Configure o schema
Defina titulo, descricao e opcoes como campos obrigatorios e additionalProperties.
3
Revise o resultado
O painel direito exibe o JSON Schema com syntax highlighting. Verifique os tipos e referencias $defs.
4
Copie ou baixe
Use Copiar Schema ou Baixar .json para integrar ao seu projeto ou documentacao.

Sobre JSON Schema

JSON Schema e um vocabulario que permite anotar e validar documentos JSON. O draft-07 e amplamente suportado por bibliotecas como AJV, jsonschema (Python), z.schema (Node.js) e muitas outras.

Objetos Aninhados

Objetos dentro de objetos sao extraidos como definicoes reutilizaveis em $defs e referenciados com $ref.

Deteccao de Tipos

Detecta string, number, integer, boolean, null, object e array automaticamente.

Campos Nulos

Com a opcao ativada, valores nulos geram oneOf: [{type}, {type: "null"}] para aceitar tanto o tipo quanto null.

Propriedades Extras

A opcao additionalProperties: false impede propriedades nao declaradas no schema, util para validacao estrita.

JSON Schema: O Que E, Como Funciona o Draft-07 e Como Usar Para Validar APIs

Neste artigo
  1. O que e JSON Schema
  2. Estrutura de um schema draft-07
  3. Tipos suportados
  4. $defs e $ref para reutilizacao
  5. Usando o schema para validacao
  6. Perguntas frequentes

1. O Que E JSON Schema

JSON Schema e uma especificacao que define um vocabulario para descrever e validar a estrutura de documentos JSON. Ele permite que voce descreva exatamente quais propriedades um objeto JSON deve conter, quais tipos cada valor deve ter, quais campos sao obrigatorios e muito mais.

O draft-07 e a versao mais amplamente adotada, suportada por bibliotecas em praticamente todas as linguagens de programacao populares. E usada em documentacao de APIs (OpenAPI/Swagger), sistemas de configuracao, validacao de entrada de dados e testes automatizados.

2. Estrutura de Um Schema Draft-07

Um JSON Schema e ele proprio um objeto JSON. As palavras-chave fundamentais incluem $schema (URI da versao), type (tipo do valor), properties (definicoes de campos), required (campos obrigatorios) e items (tipo dos elementos de arrays).

3. Tipos Suportados

O draft-07 suporta os seguintes tipos primitivos:

  • string: qualquer texto, com restricoes opcionais de formato, padrao regex e tamanho.
  • number: qualquer numero (inteiro ou decimal).
  • integer: apenas numeros inteiros.
  • boolean: true ou false.
  • null: o valor null do JSON.
  • object: objeto com propriedades definidas.
  • array: lista de valores com tipo de elemento definido via items.
"JSON Schema e a base de contratos de API modernos. Ele transforma documentacao informal em regras maquina-verificaveis que tanto humanos quanto sistemas podem usar."

4. $defs e $ref Para Reutilizacao

Para evitar repeticao em schemas complexos, o draft-07 permite definir tipos reutilizaveis em $defs e referencia-los com $ref: "#/$defs/NomeDoTipo". O gerador desta ferramenta usa automaticamente $defs para objetos aninhados, mantendo o schema organizado e sem duplicacao.

5. Usando o Schema Para Validacao

Apos gerar o schema, voce pode usa-lo com bibliotecas de validacao como:

  • JavaScript/Node.js: AJV (Ajv), @cfworker/json-schema
  • Python: jsonschema, fastjsonschema
  • Java: networknt/json-schema-validator
  • Go: gojsonschema, santhosh-tekuri/jsonschema
  • PHP: justinrainbow/json-schema

Em APIs REST, o schema pode ser integrado ao OpenAPI/Swagger para documentacao interativa e validacao automatica de requisicoes e respostas.

6. Perguntas Frequentes

O gerador suporta array na raiz do JSON?

Sim. Se o JSON for um array, o schema sera do tipo array com a definicao dos items baseada nos elementos do array.

Qual a diferenca entre draft-07 e versoes mais recentes como 2020-12?

O draft-07 e o mais amplamente suportado por ferramentas de terceiros. Versoes mais recentes (2019-09, 2020-12) introduzem funcionalidades avancadas como unevaluatedProperties e if/then/else, mas tem suporte menor em bibliotecas legadas.

Os dados sao enviados a algum servidor?

Nao. Toda a geracao ocorre localmente no navegador via JavaScript. Nenhum dado e transmitido ou armazenado.

O schema gerado pode ser usado diretamente em producao?

O schema e gerado como um ponto de partida. Recomenda-se revisar manualmente para adicionar restricoes mais especificas como minLength, pattern, enum e limites numericos conforme as regras de negocio da sua API.