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
Gerador de cards CSS
Crie um card com seu título, texto e link opcional. Ajuste cores, borda, espaçamento, sombra e efeito ao passar o mouse. Depois copie ou baixe o HTML e o CSS.
Gerador de textura de ruído
Gere uma textura de ruído em SVG que se repete sem emendas, com opacidade, frequência do grão, tipo de ruído e cor de fundo ajustáveis, e copie o CSS já pronto.
Gerador de Configuração Webpack
Crie um webpack.config.js para webpack 5 a partir de um formulário curto: defina o entry, a pasta de saída e o modo, e ative TypeScript, Babel, um loader CSS, HtmlWebpackPlugin e um servidor de desenvolvimento.
Gerador de Docker Compose
Gere um docker-compose.yml a partir de definições de serviços com imagem, portas e volumes, com padrões de boas práticas.
Conversor de base numérica
Converta números entre binário, octal, decimal, hexadecimal e qualquer base personalizada de 2 a 36, com o detalhamento posicional.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Ferramenta disponível em outros idiomas
- JSONスキーマバリデーター [JA]
- JSON Schema-validator [SV]
- Penentu Struktur JSON [ID]
- JSON 스키마 검증기 [KO]
- Validateur de schéma JSON [FR]
- JSON Schema-validator [NL]
- Trình xác thực JSON Schema [VI]
- JSON-Schema-Validator [DE]
- أداة التحقق من مخطط JSON [AR]
- เครื่องมือตรวจสอบ JSON Schema [TH]
- Walidator JSON Schema [PL]
- Validador de JSON Schema [ES]
- Валидатор JSON Schema [RU]
- JSON Şeması Doğrulayıcı [TR]
- JSON 模式验证器 [ZH]
- Validator di JSON Schema [IT]
- JSON Schema Validator [EN]