Pular para o conteúdo

Gerador de JSON Schema

Infira um JSON Schema compatível com Draft-07 a partir de dados JSON de exemplo, totalmente no seu navegador.

Opções

Schema gerado

Schema gerado

Propriedades definidas
-
Chaves de nível superior
-

Como funciona

JSON Schema é um vocabulário para descrever e validar a estrutura de dados JSON. Esta ferramenta inspeciona um objeto ou array de exemplo, infere um tipo e formato para cada valor e cria um schema compatível com Draft-07 que você pode usar diretamente em uma biblioteca de validação.

  1. Cole um JSON de exemplo representativo

    Inclua todos os campos esperados, com valores de exemplo realistas.

  2. Escolha obrigatórios, exemplos e propriedades extras

    O schema é atualizado conforme você altera qualquer opção.

  3. Copie ou baixe o schema

    Revise o array de obrigatórios e os formatos antes de usar em produção.

O que o gerador detecta

Cada valor é tipado como string, integer, number, boolean, array, object ou null. Valores string são verificados adicionalmente quanto a formatos comuns: email, date, date-time, uri, uuid e ipv4, nessa ordem, de modo que um valor correspondente a mais de um padrão recebe a primeira correspondência. Arrays com itens que compartilham o mesmo tipo inferido são consolidados em um único schema de itens; arrays que misturam tipos usam oneOf, com os exemplos mesclados em vez de repetidos.

Um schema é tão bom quanto sua amostra

O gerador só consegue inferir o que vê. Se um campo às vezes é null e às vezes uma string, mas sua amostra mostra apenas o caso da string, o esquema especificará string e não detectará a possibilidade de ser null. Use uma amostra que cubra todos os tipos de valor, campos opcionais e casos extremos esperados nos dados reais.

Perguntas frequentes

Como gerar automaticamente um JSON Schema a partir de dados JSON de exemplo?

Cole um objeto ou array JSON representativo na área de entrada. A ferramenta inspeciona cada chave e valor, infere o tipo (string, number, boolean, array, object ou null) e gera um JSON Schema compatível com Draft-07 enquanto você digita. Opcionalmente, você pode adicionar um título ao esquema e escolher se deseja tornar as chaves do objeto obrigatórias, incluir valores de exemplo e permitir propriedades adicionais.

O JSON Schema gerado é enviado para um servidor?

Não. A geração do esquema é executada inteiramente no seu navegador usando JavaScript. Seus dados JSON e o esquema resultante permanecem no seu dispositivo. Você pode usar com segurança dados de produção, payloads de API interna ou objetos de configuração confidenciais como fonte, sem qualquer exposição em servidores.

Para que serve o JSON Schema e por que um desenvolvedor precisaria dele?

JSON Schema é um vocabulário para descrever e validar estruturas de dados JSON. Desenvolvedores o utilizam para validar corpos de requisições e respostas de API, gerar documentação, configurar geradores de código como quicktype ou openapi-generator, impor contratos de dados entre serviços e configurar validação de formulários em frameworks que suportam formulários orientados por esquemas.

Qual é uma limitação importante de inferir um JSON Schema a partir de uma única amostra?

O gerador só pode inferir o que vê na amostra fornecida. Se um campo às vezes é null e às vezes uma string, mas sua amostra mostra apenas o caso da string, o schema especificará o tipo string e perderá o caso anulável. Sempre use uma amostra representativa que cubra todos os tipos de valor esperados, campos opcionais e casos extremos para produzir um schema preciso.

Posso usar o JSON Schema gerado para validar dados no meu código?

Sim. O schema gerado é um JSON Schema Draft-07 padrão, suportado por bibliotecas de validação populares como Ajv para JavaScript e Node.js, jsonschema para Python e JSON.NET Schema para .NET. Copie a saída do schema e integre-a à sua biblioteca de validação preferida. Revise e ajuste o array required e as restrições de tipo antes de usá-lo em produção.

Devo permitir propriedades extras que não estão na minha amostra?

Por padrão, o schema define additionalProperties como false, então um validador rejeita qualquer campo que não esteja na sua amostra, útil para detectar erros de digitação e dados inesperados. Ative "Permitir propriedades extras não listadas aqui" se os dados reais tiverem legitimamente campos opcionais que sua amostra não incluiu, como uma resposta flexível de API.