Validador de JSON Schema
Cole um esquema e um documento, escolha o rascunho, e o validador verifica o documento contra cada palavra-chave que seu esquema usa, type, required, enum, oneOf, $ref, if/then/else, format personalizado, relatando cada violação com um ponteiro no estilo JSONPath para a localização exata do erro.
Como validar contra um esquema
-
1
Cole o esquema
JSON Schema rascunho 04, 07 ou 2020-12. A palavra-chave `$schema` (se presente) seleciona automaticamente o rascunho.
-
2
Cole o documento
O JSON que você deseja validar. Deve ser um JSON válido primeiro, erros de sintaxe são mostrados antes da avaliação do esquema.
-
3
Validar
Cada violação é relatada com um ponteiro JSON (`/user/email`) e a palavra-chave que falhou (`format`, `required`, etc.).
-
4
Corrigir e revalidar
Edite qualquer lado e o status é atualizado ao vivo.
Palavras-chave suportadas
Núcleo: type, enum, const, multipleOf, maximum, minimum, exclusiveMaximum, exclusiveMinimum, maxLength, minLength, pattern, maxItems, minItems, uniqueItems, maxContains, minContains, maxProperties, minProperties, required, dependentRequired.
Composição: allOf, anyOf, oneOf, not.
Aplicadores: properties, patternProperties, additionalProperties, items, prefixItems, contains, propertyNames.
Condicionais: if, then, else, dependentSchemas.
Referências: $ref, $defs, $id, $anchor.
Formatos (com validação quando habilitada): date-time, date, time, duration, email, hostname, ipv4, ipv6, uri, uuid, regex.
Saída de erro
FAIL /user/email format "not-an-email" não é um "email" válido
FAIL /user/age minimum -3 é menor que o mínimo 0
FAIL /orders/0/total type "42" não é do tipo "number"
FAIL / required propriedade obrigatória "shippingAddress" ausente
Cada erro inclui o caminho e a palavra-chave que falhou, facilitando a localização no seu editor.
Diferenças de rascunho que pegam
| Palavra-chave | Rascunho 04 | Rascunho 07 | Rascunho 2020-12 |
|---|---|---|---|
id vs $id |
id |
$id |
$id |
exclusiveMaximum como bool |
Sim | Número | Número |
Sintaxe de array items |
items |
items |
prefixItems |
$ref permite irmãos |
Não | Não | Sim |
Defina o rascunho correto; validar um esquema rascunho-04 como 2020-12 irá interpretar incorretamente id e algumas outras sutilezas.
Fluxos de trabalho típicos
- Teste de contrato de API: antes de um deploy, execute o esquema OpenAPI gerado/atualizado contra respostas de amostra reais.
- Fortalecimento de configuração: valide cada configuração YAML/JSON no CI contra um esquema antes de mesclar.
- Ingestão de dados: rejeite cargas úteis que não correspondem à forma esperada cedo, com uma mensagem de erro clara.
Erros comuns
- Esquecer a aplicação de
format. Por padrão, a maioria dos validadores trata formatos desconhecidos apenas como anotações. Habilite a validação de formato estrito para realmente rejeitar emails e datas ruins. - Uso excessivo de
oneOf. Se dois ramos deoneOfse sobrepuserem, o documento falhará (deve corresponder exatamente a um). UseanyOfou padrões de discriminador. - Esquemas rígidos com
additionalProperties: false. Adicionar um novo campo opcional se torna uma mudança quebradora. Omitir a menos que você realmente queira um objeto fechado.
Perguntas frequentes
Sim. Os rascunhos 2020-12, 07 e 04 são todos suportados. O validador lê a palavra-chave $schema do seu documento para escolher o correto, ou recua para o seletor na interface.
Formatos padrão (email, date-time, uuid, ipv4, etc.) são validados quando o formato estrito está habilitado. Formatos personalizados declarados no seu esquema são tratados apenas como anotações, a menos que você forneça uma regex com pattern.
Referências internas (#/$defs/foo) são resolvidas automaticamente. Referências HTTP externas não são buscadas por padrão, por segurança. Inline suas referências externas primeiro, ou use uma ferramenta dedicada que suporte a resolução remota de $ref.
Sim. Tanto o esquema quanto o documento permanecem locais. O conteúdo colado nunca é enviado, seguro para contratos de API internos e dados sensíveis.
Ferramentas relacionadas
Referência da Tabela ASCII
Tabela ASCII completa de 0 a 127 com valores decimais, hexadecimais, octais e binários e notação de referência numérica HTML, incluindo NUL, LF e DEL.
Referência de Caracteres HTML
Lista pesquisável de entidades HTML, seus códigos nomeados e numéricos, e uma cópia com um clique para caracteres e símbolos especiais.
Referência de atalhos de teclado
Pesquise atalhos padrão documentados do VS Code, Chrome e Bash com GNU Readline no macOS, Windows e Linux.
Gerador de EditorConfig
Gere um arquivo .editorconfig com suas regras de estilo e tamanho de indentação, fim de linha, charset e espaços em branco para formatação consistente entre IDEs e editores.
Validador de Email
Valide um endereço de email: verificação de sintaxe RFC 5322, consulta de registro MX em tempo real, além de detalhes de parte local, domínio e comprimento. Nenhum email é enviado.
Formatador de HTML
Formate HTML localmente no navegador com indentação de dois ou quatro espaços. O HTML não é enviado nem validado.
Ferramenta disponível em outros idiomas
- Trình xác thực JSON Schema [VI]
- JSON-Schema-Validator [DE]
- JSON 스키마 검증기 [KO]
- เครื่องมือตรวจสอบ JSON Schema [TH]
- أداة التحقق من مخطط JSON [AR]
- JSON Schema-validator [SV]
- JSON Schema-validator [NL]
- Validateur de schéma JSON [FR]
- Penentu Struktur JSON [ID]
- JSONスキーマバリデーター [JA]
- Walidator JSON Schema [PL]
- Validador de JSON Schema [ES]
- JSON Schema Validator [EN]
- Validator di JSON Schema [IT]
- Валидатор JSON Schema [RU]
- JSON Şeması Doğrulayıcı [TR]
- JSON 模式验证器 [ZH]