logo
GeekFormat

Validador JSON Schema

Sugestões Relacionadas

Recursos

  • Validação Draft-07: Suporta tipos, campos obrigatórios, propriedades, regex, formatos e enums
  • Lógica de combinação: Suporta allOf, anyOf, oneOf, not para estruturas complexas
  • Localização precisa de erros: Relatório detalhado com caminho e tipo de erro
  • Teste de contrato de API: Perfeito para depuração frontend-backend
  • Processamento local: Computação no navegador, garantindo privacidade

Perguntas frequentes

Como validar dados de resposta de API usando JSON Schema?

Cole sua definição JSON Schema à esquerda e os dados da API à direita. A ferramenta compara estruturas, validando tipos, campos obrigatórios e padrões regex.

Quais padrões e regras são suportados?

Segue JSON Schema Draft-07: tipos, campos obrigatórios, propriedades, regex, formatos, enums e lógica de combinação (allOf, anyOf, oneOf, not).

Como localizar erros rapidamente?

A ferramenta gera relatório detalhado com caminho JSON, tipo de erro e regra correspondente, melhorando eficiência de depuração.

Como usar para governança de dados?

Verifique se dados estão em conformidade com schema pré-definidos antes da ingestão ETL, interceptando dados sujos e anomalias.

É seguro para dados sensíveis?

Totalmente. Processamento local no navegador, dados nunca são enviados a servidores.

Folha de Referência de Palavras-chave do JSON Schema

A tabela abaixo lista as palavras-chave de validação mais utilizadas na especificação JSON Schema, organizadas por categoria para referência rápida.

Palavra-chaveDescrição
Tipos Básicos
typeEspecifica o tipo de dados: string, number, integer, boolean, array, object, null. Suporta um tipo único ou um array de tipos.
Validação de Objetos
propertiesDefine sub-schemas para as propriedades do objeto.
requiredArray de strings especificando quais propriedades são obrigatórias.
additionalPropertiesControla se propriedades extras não definidas em properties são permitidas; pode ser false ou um schema.
propertyNamesSchema que os nomes das propriedades devem corresponder (comumente usa regex pattern).
minPropertiesNúmero mínimo de propriedades que um objeto deve conter.
maxPropertiesNúmero máximo de propriedades que um objeto pode conter.
Enums e Constantes
enumArray de valores permitidos; os dados devem ser exatamente um valor do array.
constValor constante; os dados devem ser estritamente iguais a este valor.
Restrições Numéricas
minimumValor numérico mínimo (inclusivo).
maximumValor numérico máximo (inclusivo).
exclusiveMinimumO valor deve ser estritamente maior que (exclusivo).
exclusiveMaximumO valor deve ser estritamente menor que (exclusivo).
multipleOfO valor deve ser um múltiplo do número especificado.
Restrições de Strings
minLengthComprimento mínimo da string.
maxLengthComprimento máximo da string.
patternExpressão regular; a string deve corresponder a este padrão.
formatValidação de formato semântico: email, uri, date-time, uuid, ipv4, ipv6, hostname, etc.
Restrições de Arrays
itemsSchema para elementos do array (um único schema se aplica a todos os elementos).
minItemsNúmero mínimo de elementos no array.
maxItemsNúmero máximo de elementos no array.
uniqueItemsSe os elementos do array devem ser únicos.
containsPelo menos um elemento do array deve corresponder a este schema.
Lógica Combinatória
allOfOs dados devem corresponder a todos os sub-schemas (E lógico).
anyOfOs dados devem corresponder a pelo menos um sub-schema (OU lógico).
oneOfOs dados devem corresponder a exatamente um sub-schema (XOR).
notOs dados NÃO devem corresponder a este schema (NÃO lógico).
Validação Condicional
ifSchema condicional; se os dados corresponderem a if, devem satisfazer then; caso contrário devem satisfazer else.
thenSchema a ser satisfeito quando a condição if é verdadeira.
elseSchema a ser satisfeito quando a condição if não é verdadeira.
Referências e Reutilização
$refReferencia outras definições de schema; suporta referências locais (#/$defs/xxx) e referências remotas.
$defsDefine sub-schemas reutilizáveis (Draft 2019-09+; versões antigas usam definitions).
definitionsPalavra-chave para sub-schemas reutilizáveis no Draft 4-7.
Metadados
titleTítulo do schema (anotação, não validado).
descriptionDescrição do schema (anotação, não validado).
defaultValor padrão (anotação, não validado).
examplesArray de valores de exemplo (anotação, não validado).
$schemaEspecifica a versão da especificação JSON Schema em uso.
Dependências
dependentRequiredDependência de propriedades: quando uma propriedade existe, outras propriedades também devem existir (Draft 2019-09+).
dependenciesPalavra-chave de dependência no Draft 4-7 cobrindo dependências de propriedades e de schemas.

Comparação de Versões do JSON Schema

O JSON Schema evoluiu através de múltiplas versões Draft. O Draft 7 é atualmente a versão mais utilizada; o Draft 2020-12 é a última versão estável.

FuncionalidadeDraft 4Draft 6Draft 72019-092020-12
validação de tipos
campos obrigatórios
enum/const✓ enum
minimum/maximum
exclusiveMinimum/Maximumbooleanonúmeronúmeronúmeronúmero
multipleOf
minLength/maxLength
regex pattern
validação de formatosapenas anotação por padrãoapenas anotação por padrão
array items
contains
minItems/maxItems
uniqueItems
additionalProperties
propertyNames
allOf/anyOf/oneOf/not
if/then/else
referências $ref
reutilização $defsdefinitionsdefinitionsdefinitions$defs$defs
dependentRequired
tuplas prefixItemsforma de arrayforma de arrayforma de arrayforma de arrayprefixItems
unevaluatedProperties
$dynamicRef/$anchor✓ $recursiveRef✓ dynamicRef