Gerador de JSON Schema
Gere um JSON Schema Draft-07 ou Draft 2020-12 completo a partir de qualquer payload JSON na hora no seu navegador. Infere tipos, campos obrigatórios, formatos de string e estruturas de objetos aninhados. Totalmente no lado do cliente: seus dados nunca saem do seu dispositivo.
Paste or upload a JSON payload to instantly generate a complete JSON Schema. Supports Draft-07 and Draft 2020-12 with configurable required fields, format detection, and description placeholders. All processing happens locally in your browser.
Optional title added to the root schema object
Por que usar nosso Gerador de JSON Schema?
- Inferência de esquema instantânea: gere um JSON Schema completo a partir de qualquer payload JSON em milissegundos. O motor percorre cada objeto e array aninhado, infere tipos, detecta formatos de string e constrói um esquema totalmente estruturado sem processamento no servidor.
- Privacidade de dados total: seus payloads JSON nunca saem do seu dispositivo. Toda a geração de esquema roda localmente no seu navegador, tornando esta ferramenta segura para respostas de API, registros de banco de dados e qualquer dado corporativo sensível que você precise documentar.
- Draft-07 e Draft 2020-12: escolha entre JSON Schema Draft-07 (amplamente suportado por validadores como AJV e jsonschema) e a moderna especificação Draft 2020-12. Ambas as saídas incluem o URI $schema correto, arrays required e anotações de formato.
- 100% grátis, sem limites: sem assinaturas, sem tetos de tamanho de arquivo, sem cotas de uso e sem conta. Gere JSON Schemas a partir de payloads de qualquer tamanho quantas vezes precisar, totalmente grátis para sempre.
Casos de uso comuns do Gerador de JSON Schema
- Documentação de API: gere JSON Schemas a partir de payloads reais de respostas de API para documentar os corpos de requisição e resposta em especificações OpenAPI. Cole uma resposta de API real e obtenha um esquema pronto para uso que reflete com precisão a estrutura de dados retornada pelos seus endpoints.
- Validação em tempo de execução: crie esquemas de validação para AJV, jsonschema ou Zod a partir de dados JSON existentes. Use o esquema Draft-07 gerado diretamente em middleware de validação Node.js, Python ou Go para impor contratos de dados nas fronteiras da API e impedir que payloads malformados cheguem ao seu banco de dados.
- Geração de tipos TypeScript: use o JSON Schema gerado como entrada para ferramentas como json-schema-to-typescript ou quicktype e produzir automaticamente interfaces e tipos TypeScript. Comece de um payload JSON real e chegue a interfaces precisas e fortemente tipadas sem escrevê-las à mão.
- Design de esquema de banco de dados: gere esquemas a partir de documentos MongoDB ou exportações de itens do DynamoDB para entender o formato dos seus dados antes de projetar índices ou migrar para um banco relacional. Os campos obrigatórios e tipos inferidos dão a você um ponto de partida para definições de colunas e restrições.
- Configuração de construtores de formulário: gere JSON Schemas para alimentar construtores de formulários dinâmicos como react-jsonschema-form ou JSON Forms. Adicione espaços reservados de descrição usando a opção do gerador e depois preencha-os para criar rótulos e textos de ajuda legíveis para cada campo do seu formulário.
- Testes de contrato de dados: capture o esquema de uma resposta de API validada e use-o como contrato em testes de contrato orientados ao consumidor com Pact ou frameworks semelhantes. Detecte mudanças incompatíveis quando um provedor remove um campo obrigatório ou altera o tipo de uma propriedade entre versões.
O que é o Gerador de JSON Schema?
O Gerador de JSON Schema analisa um payload JSON e produz um documento JSON Schema completo e em conformidade com os padrões, inteiramente no seu navegador. Ele suporta tanto JSON Schema Draft-07 — a versão mais amplamente implantada, suportada por AJV, jsonschema e a maioria das ferramentas OpenAPI — quanto a moderna especificação Draft 2020-12 usada por validadores e geradores de código mais recentes. Nenhum dado é enviado a um servidor.
Draft-07 vs Draft 2020-12: o Draft-07 usa o URI http://json-schema.org/draft-07/schema# e é a escolha mais segura para máxima compatibilidade com validadores existentes, ferramentas de OpenAPI 3.0 e geradores de código. O Draft 2020-12 usa o URI HTTPS https://json-schema.org/draft/2020-12/schema e introduz semântica mais limpa para $ref , unevaluatedProperties e prefix items. Escolha 2020-12 ao mirar AJV 8+, a cadeia de ferramentas json-schema-to-typescript v12+ ou qualquer validador que suporte explicitamente a especificação mais recente.
Inferência de tipos
O gerador percorre cada valor do documento de entrada e o mapeia para o tipo correto do JSON Schema. Strings JSON se tornam "type": "string" , inteiros se tornam "type": "integer" , números de ponto flutuante se tornam "type": "number" , booleanos se tornam "type": "boolean" e valores null se tornam "type": "null" . Objetos aninhados são processados recursivamente em subesquemas properties , e arrays são analisados para produzir um esquema items .
Inferência de campos obrigatórios
Quando a opção «Inferir campos obrigatórios» está ativada, o gerador adiciona um array required a cada esquema de objeto com cada chave cujo valor não seja null . Para arrays de objetos com a opção «Fundir esquemas de itens de array» ativada, uma chave só é marcada como obrigatória se aparecer em todos os itens do array, o que dá um conjunto conservador de campos obrigatórios que reflete os dados reais em vez de uma única amostra.
Fusão de esquemas de itens de array: quando um array contém vários objetos, a opção «Fundir esquemas de itens de array» combina todos os esquemas de itens em um único esquema representativo. Propriedades que aparecem em todos os itens são marcadas como obrigatórias; as que aparecem apenas em alguns itens são incluídas, mas não como obrigatórias. Isso produz um esquema items mais preciso do que usar apenas o primeiro elemento, especialmente para arrays heterogêneos de respostas de API reais.
Detecção de formatos de string
O gerador reconhece automaticamente seis formatos de string comuns. Strings date-time ISO 8601 como 2024-03-15T10:30:00Z são anotadas com format: date-time . Datas simples como 2024-03-15 recebem format: date . Endereços de e-mail, URIs HTTP/HTTPS, strings UUID v4 e endereços IPv4 são detectados e anotados com suas respectivas palavras-chave de formato. Desative esta opção se precisar que todas as strings permaneçam sem anotação.
Espaços reservados de descrição: ativar «Adicionar espaços reservados de descrição» insere uma string description vazia em cada propriedade e esquema de objeto. Isso é útil quando você planeja usar o esquema gerado como ponto de partida para documentação de API ou configuração de construtor de formulário: você pode preencher as descrições sem precisar adicionar as chaves manualmente a cada propriedade.
Perguntas frequentes
Um JSON Schema é um vocabulário que descreve a estrutura, os tipos e as restrições de um documento JSON. Ele é usado para validação em tempo de execução, documentação de API em especificações OpenAPI, geração de tipos TypeScript e configuração de construtores de formulário. Este gerador de JSON Schema cria um automaticamente a partir de qualquer payload JSON existente.
Draft-07 é a versão mais amplamente suportada, compatível com AJV, jsonschema e ferramentas de OpenAPI 3.0. Draft 2020-12 é a especificação mais recente, com semântica de $ref mais limpa e novas palavras-chave como unevaluatedProperties. Escolha Draft-07 para máxima compatibilidade e Draft 2020-12 ao mirar validadores modernos como AJV 8+.
Quando «Inferir campos obrigatórios» está ativado, cada propriedade cujo valor não é null é adicionada ao array required. Para arrays de objetos com a fusão ativada, um campo só é marcado como obrigatório se aparecer em todos os itens do array. Isso fornece um conjunto conservador de campos obrigatórios que reflete os dados reais em vez de uma única amostra.
O gerador detecta seis formatos: date-time (ISO 8601 com hora), date (apenas data ISO 8601), endereços de e-mail, URIs HTTP/HTTPS, strings UUID v4 e endereços IPv4. Cada um é anotado com a palavra-chave format correspondente do JSON Schema. Desative «Detectar formatos de string» se precisar que todas as strings permaneçam sem anotação.
Quando ativado, o gerador combina os esquemas de todos os objetos de um array em um único esquema items representativo. Propriedades presentes em todos os itens são marcadas como obrigatórias; as presentes apenas em alguns itens são incluídas, mas como opcionais. Isso produz um esquema mais preciso do que usar apenas o primeiro item do array.
Sim. O esquema Draft-07 gerado é imediatamente utilizável com AJV, jsonschema (Python) e a maioria dos outros validadores. Copie a saída, salve como arquivo .json e passe para o seu validador. Para AJV 8+, você também pode usar a saída Draft 2020-12 selecionando essa opção antes de gerar.
Completamente. Toda a geração de esquema roda localmente no seu navegador, sem envios a servidores. Seus payloads JSON, respostas de API e registros de banco de dados nunca saem do seu dispositivo. Isso torna a ferramenta segura para dados corporativos sensíveis, credenciais e qualquer estrutura JSON proprietária que você precise documentar.