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 são as palavras-chave de JSON Schema mais utilizadas?

type (string, number, object, array, boolean, null), properties com esquemas aninhados, required que lista as chaves obrigatórias, enum para conjuntos de valores fixos, pattern para cadeias restringidas por expressões regulares e as verificações de intervalo minimum/maximum e minLength/maxLength. additionalProperties: false restringe os objetos quanto a chaves extra. Em conjunto, cobrem a maior parte das regras de validação de APIs.

Qual é o comportamento das palavras-chave format como date-time e email?

No JSON Schema moderno, format é uma anotação por defeito, e não uma asserção automática - os validadores só a impõem quando estão configurados para tal, algo que a especificação 2020-12 tornou explícito com um vocabulário format-assertion separado. Utilize pattern ou uma palavra-chave personalizada quando a imposição tiver de ser garantida e trate format como metadados de interoperabilidade nos restantes casos.

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

Um $ref que aponta para #/$defs/address referencia um fragmento de esquema em $defs e valida contra ele onde quer que seja utilizado - é o mecanismo de desduplicação. O Draft 2020-12 renomeou o antigo definitions para $defs e formalizou $dynamicRef para estruturas recursivas como árvores de comentários. As referências também podem apontar para documentos externos, embora a agregação local 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 adicionais. anyOf exige pelo menos um - uma união, usada para payloads polimórficos. oneOf exige exatamente um; validar dois ou zero subesquemas falha, o que é mais estrito do que as pessoas esperam e é a causa habitual de erros surpreendentes com esquemas sobrepostos.

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

O 2020-12 dividiu a especificação em vocabulários negociáveis em separado (validation, annotation, format-assertion), renomeou definitions para $defs, simplificou exclusiveMinimum para um número simples e substituiu a antiga palavra-chave items por prefixItems em conjunto com items. A maioria das ferramentas suporta ambos; o draft-07 continua a ser o mais amplamente implementado, mas o 2020-12 é a norma publicada em vigor.

{-- * 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 --}}