DT Dev Tools

Gerador de JSON Schema

Gere localmente um JSON Schema draft-07 a partir de um exemplo JSON. Este gerador gratuito infere tipos, propriedades, campos obrigatórios e esquemas de itens de arrays, sem envio de dados.

🔒 Executa completamente no seu navegador — nada é enviado

Advertisement

O que faz o Gerador de JSON Schema

O Gerador de JSON Schema lê um exemplo JSON e produz um esquema draft-07 que valida documentos com a mesma estrutura. Ele percorre o valor de forma recursiva: objetos tornam-se um esquema com um mapa properties e um array required, arrays tornam-se um esquema com uma definição items e valores primitivos são descritos com o respetivo type do JSON Schema. O resultado é um contrato portátil que pode ser usado em documentação de APIs, middlewares de validação de pedidos, carregadores de configuração, testes de contrato ou ferramentas de editor que oferecem preenchimento automático e validação em linha a partir de um esquema.

Os arrays são resumidos em vez de enumerados. Quando um array contém objetos, todos os elementos são combinados para que o esquema items gerado cubra a união das chaves, e uma chave ausente em alguns elementos é retirada da lista de obrigatórios. Quando um array mistura tipos primitivos, o gerador emite um anyOf para que cada tipo observado continue válido. Gerar a partir de um exemplo é a forma mais rápida de criar um esquema inicial que depois refina à mão, em vez de escrever do zero definições de tipos aninhadas.

Fluxo de trabalho privado no navegador

Toda a análise e construção do esquema acontecem dentro do seu navegador, com JavaScript do lado do cliente. A ferramenta não envia para nenhum servidor o seu JSON, respostas de APIs, configurações, identificadores ou exemplos com o formato de dados de clientes, e não exige conta. Este comportamento exclusivamente local é importante porque a entrada de um gerador de esquemas costuma ser um payload real capturado ao depurar um serviço. Manter o trabalho no seu computador reduz riscos e torna o resultado instantâneo, pois nada sai da página.

A interface mantém lado a lado o JSON de entrada e o esquema gerado, para que possa verificar o resultado antes de o copiar. Um esquema gerado a partir de um único exemplo é um ponto de partida, não um contrato final: um só exemplo não consegue revelar todas as propriedades opcionais, valores enum, restrições de formato ou intervalos numéricos permitidos pelo seu domínio, por isso alargue e restrinja o esquema com conhecimento que o exemplo não contém.

Dicas práticas

Use o exemplo mais completo que tiver, com campos opcionais preenchidos e arrays com mais de um elemento, para que a lógica de combinação descreva com rigor as uniões. Depois de gerar, refine o esquema: adicione palavras-chave format como email, uri ou date-time quando fizer sentido, adicione listas enum para campos com um conjunto fixo de valores, defina minimum e maximum nos números e retire do array required os campos que podem legitimamente estar ausentes. Valide o esquema final com vários documentos reais, usando o validador da sua preferência, antes de o utilizar em produção, pois a geração no navegador é ideal para um primeiro rascunho rápido e preciso.

Como usar

  1. Cole o JSONAdicione um objeto, array ou valor JSON representativo.
  2. GereProduza um esquema draft-07 que descreva o exemplo.
  3. Copie ou transfiraReveja o esquema e depois copie-o ou transfira um ficheiro .json.

Perguntas frequentes

Que versão do JSON Schema é produzida?
O gerador emite esquemas draft-07 com o identificador $schema correspondente.
Como são escolhidas as propriedades obrigatórias?
Todas as chaves presentes no objeto de exemplo são listadas como obrigatórias. Remova do array required as chaves opcionais.
O meu JSON é enviado para algum servidor?
Não. A geração do esquema decorre inteiramente no seu navegador, com JavaScript do lado do cliente.
Advertisement