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 Todas

O 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

  1. Cole os dados em Dados JSON e o schema em Esquema JSON (ou clique em Carregar exemplo em cada um).
  2. Deixe a Versão do schema em detecção automática ou escolha um draft.
  3. Leia o resultado: uma mensagem de sucesso ou a lista de erros com seus caminhos de instância.
  4. Corrija os dados (ou o schema) e o resultado é atualizado automaticamente.

Exemplo

Entrada
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"}}}
Saída
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.

Próximos passos recomendados

Explore mais categorias