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.
Segue JSON Schema Draft-07: tipos, campos obrigatórios, propriedades, regex, formatos, enums e lógica de combinação (allOf, anyOf, oneOf, not).
A ferramenta gera relatório detalhado com caminho JSON, tipo de erro e regra correspondente, melhorando eficiência de depuração.
Verifique se dados estão em conformidade com schema pré-definidos antes da ingestão ETL, interceptando dados sujos e anomalias.
Totalmente. Processamento local no navegador, dados nunca são enviados a servidores.
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-chave | Descrição |
|---|---|
| Tipos Básicos | |
type | Especifica o tipo de dados: string, number, integer, boolean, array, object, null. Suporta um tipo único ou um array de tipos. |
| Validação de Objetos | |
properties | Define sub-schemas para as propriedades do objeto. |
required | Array de strings especificando quais propriedades são obrigatórias. |
additionalProperties | Controla se propriedades extras não definidas em properties são permitidas; pode ser false ou um schema. |
propertyNames | Schema que os nomes das propriedades devem corresponder (comumente usa regex pattern). |
minProperties | Número mínimo de propriedades que um objeto deve conter. |
maxProperties | Número máximo de propriedades que um objeto pode conter. |
| Enums e Constantes | |
enum | Array de valores permitidos; os dados devem ser exatamente um valor do array. |
const | Valor constante; os dados devem ser estritamente iguais a este valor. |
| Restrições Numéricas | |
minimum | Valor numérico mínimo (inclusivo). |
maximum | Valor numérico máximo (inclusivo). |
exclusiveMinimum | O valor deve ser estritamente maior que (exclusivo). |
exclusiveMaximum | O valor deve ser estritamente menor que (exclusivo). |
multipleOf | O valor deve ser um múltiplo do número especificado. |
| Restrições de Strings | |
minLength | Comprimento mínimo da string. |
maxLength | Comprimento máximo da string. |
pattern | Expressão regular; a string deve corresponder a este padrão. |
format | Validação de formato semântico: email, uri, date-time, uuid, ipv4, ipv6, hostname, etc. |
| Restrições de Arrays | |
items | Schema para elementos do array (um único schema se aplica a todos os elementos). |
minItems | Número mínimo de elementos no array. |
maxItems | Número máximo de elementos no array. |
uniqueItems | Se os elementos do array devem ser únicos. |
contains | Pelo menos um elemento do array deve corresponder a este schema. |
| Lógica Combinatória | |
allOf | Os dados devem corresponder a todos os sub-schemas (E lógico). |
anyOf | Os dados devem corresponder a pelo menos um sub-schema (OU lógico). |
oneOf | Os dados devem corresponder a exatamente um sub-schema (XOR). |
not | Os dados NÃO devem corresponder a este schema (NÃO lógico). |
| Validação Condicional | |
if | Schema condicional; se os dados corresponderem a if, devem satisfazer then; caso contrário devem satisfazer else. |
then | Schema a ser satisfeito quando a condição if é verdadeira. |
else | Schema a ser satisfeito quando a condição if não é verdadeira. |
| Referências e Reutilização | |
$ref | Referencia outras definições de schema; suporta referências locais (#/$defs/xxx) e referências remotas. |
$defs | Define sub-schemas reutilizáveis (Draft 2019-09+; versões antigas usam definitions). |
definitions | Palavra-chave para sub-schemas reutilizáveis no Draft 4-7. |
| Metadados | |
title | Título do schema (anotação, não validado). |
description | Descrição do schema (anotação, não validado). |
default | Valor padrão (anotação, não validado). |
examples | Array de valores de exemplo (anotação, não validado). |
$schema | Especifica a versão da especificação JSON Schema em uso. |
| Dependências | |
dependentRequired | Dependência de propriedades: quando uma propriedade existe, outras propriedades também devem existir (Draft 2019-09+). |
dependencies | Palavra-chave de dependência no Draft 4-7 cobrindo dependências de propriedades e de schemas. |
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.
| Funcionalidade | Draft 4 | Draft 6 | Draft 7 | 2019-09 | 2020-12 |
|---|---|---|---|---|---|
| validação de tipos | ✓ | ✓ | ✓ | ✓ | ✓ |
| campos obrigatórios | ✓ | ✓ | ✓ | ✓ | ✓ |
| enum/const | ✓ enum | ✓ | ✓ | ✓ | ✓ |
| minimum/maximum | ✓ | ✓ | ✓ | ✓ | ✓ |
| exclusiveMinimum/Maximum | booleano | número | número | número | número |
| multipleOf | ✓ | ✓ | ✓ | ✓ | ✓ |
| minLength/maxLength | ✓ | ✓ | ✓ | ✓ | ✓ |
| regex pattern | ✓ | ✓ | ✓ | ✓ | ✓ |
| validação de formatos | ✓ | ✓ | ✓ | apenas anotação por padrão | apenas 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 $defs | definitions | definitions | definitions | $defs | $defs |
| dependentRequired | ✗ | ✗ | ✗ | ✓ | ✓ |
| tuplas prefixItems | forma de array | forma de array | forma de array | forma de array | prefixItems |
| unevaluatedProperties | ✗ | ✗ | ✗ | ✓ | ✓ |
| $dynamicRef/$anchor | ✗ | ✗ | ✗ | ✓ $recursiveRef | ✓ dynamicRef |