Validador de Esquema JSON
Valide dados JSON contra um Esquema JSON (draft 2020-12, 2019-09 ou 07) com o Ajv e checagem de formatos. Cada erro mostra o caminho da instância. No navegador.
Executa totalmente no seu navegador. Seus dados nunca são enviados.
Ferramentas Relacionadas
Ver TodasO que é Validador de Esquema JSON?
O Validador de Esquema JSON checa dados JSON contra um Esquema JSON e lista todas as violações (propriedades obrigatórias ausentes, tipos errados, números fora do intervalo, formatos inválidos, propriedades extras), cada uma com o JSON Pointer do valor problemático. Os drafts 2020-12, 2019-09 e 07 são suportados.
Como usar Validador de Esquema JSON
- Cole os dados em Dados JSON e o schema em Esquema JSON (ou clique em Carregar exemplo em cada um).
- Deixe a Versão do schema em detecção automática ou escolha um draft.
- Leia o resultado: uma mensagem de sucesso ou a lista de erros com seus caminhos de instância.
- Corrija os dados (ou o schema) e o resultado é atualizado automaticamente.
Exemplo
Data: {"age":-1,"email":"x"}
Schema: {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["name"],"properties":{"age":{"type":"integer","minimum":0},"email":{"type":"string","format":"email"}}} Validation errors: 3 (draft 2020-12) (root) Missing required property "name" /age Must be ≥ 0 /email Must be a valid "email"
Quando usar Validador de Esquema JSON
Use-o para testar payloads de API, arquivos de configuração ou schemas que você está escrevendo. Schemas draft-04 e anteriores não são suportados (o Ajv 8 os removeu). URLs $ref remotas não são baixadas; os schemas precisam ser autocontidos ($ref local para #/$defs/... funciona).
Como funciona Validador de Esquema JSON
A validação usa o Ajv 8, uma implementação de JSON Schema muito usada, com allErrors ativado para que toda violação seja informada, e o ajv-formats para palavras-chave format como email, date-time, uri e uuid. O draft é detectado pela URL $schema do schema (2020-12, 2019-09, senão draft-07) ou escolhido manualmente. O modo estrito está desativado, então palavras-chave desconhecidas como example são ignoradas em vez de rejeitadas. Os tipos de erro mais comuns aparecem com mensagens traduzidas; os demais usam a mensagem do Ajv.
Casos de Uso Comuns
- Checar o corpo de uma requisição de API contra o schema derivado do OpenAPI
- Depurar por que um arquivo de configuração é rejeitado
- Desenvolver e testar um novo Esquema JSON
- Validar fixtures de teste
Nota de Segurança
Tudo roda localmente no seu navegador; o código que você cola não é enviado a nenhum servidor.
Perguntas Frequentes
Quais drafts são suportados?
2020-12, 2019-09 e draft-07 (schemas draft-06 normalmente funcionam como draft-07). O draft-04 não é suportado.
Formatos como email são checados?
Sim, por meio do ajv-formats.
Ele carrega schemas `$ref` remotos?
Não, apenas referências dentro do mesmo schema.
Por que ele mostra vários erros de uma vez?
Todos os erros são coletados para que você corrija tudo de uma só vez.