Validador de JSON Schema

Valide dados JSON contra definições de JSON Schema. Obtenha relatórios de erro detalhados com caminhos. Todo o processamento é feito no seu navegador.

Validação Instantânea Detalhes dos Erros Processamento no Cliente

Como Usar o Validador de JSON Schema

1

Insira o Esquema

Defina seu JSON Schema que descreve a estrutura esperada.

2

Insira os Dados

Cole os dados JSON que você deseja validar contra o esquema.

3

Valide

Clique em Validar e revise os resultados para quaisquer erros.

O que é JSON Schema?

JSON Schema é um vocabulário que permite anotar e validar documentos JSON. Ele fornece um contrato para quais dados JSON são necessários para uma determinada aplicação e como interagir com eles. JSON Schema é usado para validação, documentação e geração de dados de exemplo.

Principais Recursos

Validação de Tipos

Valide tipos: string, number, integer, boolean, array, object, null

Restrições

Comprimento mínimo/máximo, faixa, padrão, campos obrigatórios e mais

Definição de Estrutura

Defina objetos aninhados, arrays e estruturas de dados complexas

Perguntas Frequentes

Qual versão do JSON Schema é suportada?

Esta ferramenta suporta JSON Schema Draft-07, Draft 2019-09 e Draft 2020-12 através da biblioteca Ajv. A maioria dos recursos comuns de esquema é suportada.

Posso validar objetos aninhados?

Sim! JSON Schema suporta objetos e arrays profundamente aninhados. Você pode definir propriedades e itens em qualquer nível de aninhamento, com regras de validação individuais para cada campo.

O que acontece se meu esquema for inválido?

A ferramenta primeiro valida se seu esquema é um JSON Schema válido. Se o esquema tiver erros, eles serão relatados antes de tentar validar os dados.

Quais palavras-chave do JSON Schema são mais usadas?

type (string, number, object, array, boolean, null), properties com esquemas aninhados, required listando as chaves obrigatórias, enum para conjuntos fixos de valores, pattern para strings restritas por regex e as verificações de intervalo minimum/maximum e minLength/maxLength. additionalProperties: false restringe objetos contra chaves extras. Juntas, elas cobrem a maior parte das regras de validação de APIs.

Como as palavras-chave format, como date-time e email, se comportam?

No JSON Schema moderno, format é uma anotação por padrão, não uma asserção automática - os validadores a aplicam apenas quando configurados para isso, o que a especificação de 2020-12 deixou explícito com um vocabulário format-assertion separado. Use pattern ou uma palavra-chave personalizada quando a aplicação precisar ser garantida, e trate format como metadados de interoperabilidade nos demais casos.

O que é $ref e como funciona a reutilização de esquemas?

$ref apontando para #/$defs/address referencia um fragmento de esquema sob $defs e valida contra ele onde quer que seja usado - é o mecanismo de deduplicação. O draft 2020-12 renomeou o antigo definitions para $defs e formalizou o $dynamicRef para estruturas recursivas como árvores de comentários. As referências também podem apontar para documentos externos, embora agrupá-las localmente seja mais comum.

Qual a diferença entre oneOf, anyOf e allOf?

allOf exige que todos os subesquemas validem - uma interseção, usada para compor um esquema base com restrições extras. anyOf exige pelo menos um - uma união, usada para payloads polimórficos. oneOf exige exatamente um; validar dois ou nenhum subesquema resulta em falha, o que é mais restritivo do que as pessoas esperam e é a causa usual de erros surpreendentes com esquemas sobrepostos.

O que mudou entre o draft-07 e o 2020-12?

2020-12 dividiu a especificação em vocabulários negociáveis separadamente (validation, annotation, format-assertion), renomeou definitions para $defs, simplificou exclusiveMinimum para um número simples e substituiu a antiga palavra-chave items por prefixItems mais items. A maioria das ferramentas suporta ambos; o draft-07 continua sendo o mais amplamente implantado, mas 2020-12 é o padrão publicado atual.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}