O que é JSON Schema?
JSON Schema é um vocabulário definido pela IETF (Internet Engineering Task Force) que permite descrever a estrutura, as restrições e as regras de validação de dados JSON. Um JSON Schema especifica quais propriedades um objeto deve ter, os tipos de dados permitidos, intervalos de valores, padrões de strings, tamanhos de arrays e muito mais. Ele é amplamente usado para validar requisições e respostas de APIs, gerar formulários, validar arquivos de configuração e documentar dados. JSON Schema oferece drafts do Draft-04 ao Draft 2020-12. Esta ferramenta permite gerar automaticamente um JSON Schema a partir de dados JSON de exemplo, útil como ponto de partida, e validar qualquer documento JSON com um schema usando a biblioteca Ajv (Another JSON Validator), o validador de JSON Schema mais utilizado no ecossistema JavaScript.
Como usar esta ferramenta de JSON Schema online e gratuita
- 1Escolha entre 'Generate Schema' e 'Validate JSON' nas abas superiores.
- 2Para gerar um schema, cole um objeto JSON de exemplo na área de entrada. A ferramenta infere os tipos automaticamente e gera um JSON Schema que pode ser usado como ponto de partida.
- 3Para validar JSON, cole os dados JSON que deseja validar no primeiro campo e o JSON Schema no segundo. Clique no botão 'Validate'.
- 4Confira o resultado da validação: uma mensagem verde indica que o JSON está em conformidade com o schema; uma mensagem vermelha lista todos os erros de validação e seus respectivos caminhos.
- 5Clique no botão Copy para copiar o schema gerado ou os resultados da validação.
Casos de uso comuns para JSON Schema
Validação de contratos de API
Defina JSON Schemas para os corpos de requisições e respostas de sua API, garantindo que os clientes enviem dados válidos e os servidores retornem as estruturas esperadas.
Validação de arquivos de configuração
Crie schemas para arquivos de configuração da aplicação e detecte erros antes que provoquem falhas em tempo de execução na produção.
Geração de schemas a partir de exemplos
Crie rapidamente a base de um JSON Schema com dados de exemplo em vez de escrevê-lo do zero. Refine o schema gerado adicionando restrições, como campos obrigatórios e padrões.
Geração e validação de formulários
JSON Schema é usado por bibliotecas como react-jsonschema-form e vue-jsonschema-form para gerar automaticamente formulários de UI com validação integrada.
Verificações de qualidade em pipelines de dados
Valide dados recebidos em pipelines ETL com um schema para rejeitar registros malformados antes que corrompam seu data warehouse.
Perguntas frequentes
Qual draft do JSON Schema esta ferramenta aceita?
O mecanismo de validação Ajv aceita JSON Schema Draft-07 por padrão, o draft mais adotado. O gerador produz schemas compatíveis com Draft-04 e versões posteriores. Para recursos do Draft 2019-09 ou 2020-12, talvez seja necessário adicionar os plugins ajv-formats ou ajv-keywords.
Qual é a precisão do schema gerado automaticamente?
O schema gerado infere os tipos com base nos dados de exemplo fornecidos, identificando corretamente strings, números, booleanos, arrays e objetos. No entanto, ele não consegue inferir restrições como valores mínimos e máximos, padrões de strings (regex), campos obrigatórios ou valores enum. Trate o schema gerado como ponto de partida e refine-o manualmente.
O que significa 'allErrors: true' na validação?
Por padrão, o Ajv para no primeiro erro de validação. Com 'allErrors: true', ele continua a verificação e informa todos os erros encontrados, oferecendo uma visão completa dos problemas em uma única execução. Isso é mais útil para depuração, mas pode ser um pouco mais lento em documentos muito grandes.
Esta ferramenta é gratuita e privada?
Sim. A geração de schemas e a validação são executadas inteiramente no navegador com as bibliotecas JavaScript to-json-schema e Ajv. Nenhum dado é enviado para servidores e não é necessário criar uma conta.