Verificação de schema e dados

Validador JSON SchemaDa posição do valor à restrição

Experimente o exemplo. A verificação só do schema dispensa os dados; a validação da instância usa os dois documentos.

Validador JSON Schema

JSON Schema

Dados JSON

Entradas e referências são processadas neste navegador, sem envio de dados de validação nem download de referências remotas.

Opções de validação

Desligado: format é anotação. Ligado: ajv-formats verifica formatos conhecidos; formatos desconhecidos impedem compilar.

Referências locais

Até dez arquivos JSON, cada um com $id absoluto exclusivo sem # na raiz. Nomes de arquivos não resolvem referências.

Nenhum arquivo de referência.

    Pronto para a verificação manual.

    O Validador JSON Schema encontra texto no lugar de um inteiro, chaves obrigatórias ausentes e propriedades inesperadas. Sintaxe JSON correta não garante que uma resposta cumpra o contrato da API. Compare os dados recebidos com as regras para decidir o que precisa mudar.

    Validar JSON contra schema não preenche valores ausentes. Uma chave inexistente é diferente de null; default não insere dados, e números entre aspas continuam sendo strings durante a verificação.

    Por que usar o Validador JSON Schema?

    Ligue a falha à regra certa

    O Validador JSON Schema mostra o caminho da instância junto ao caminho do schema. /users/0/age aponta para um valor com tipo incorreto; required pode apontar para o objeto pai. Nesse caso, os parâmetros identificam a propriedade ausente.

    Um nó destacado dos dados se conecta à regra correspondente em outra árvore.

    Mantenha definições em arquivos próprios

    Importe dependências sem copiar tudo para o schema principal. Cada arquivo é registrado pelo $id absoluto. Referências relativas seguem a URI base; o nome do arquivo é apenas um rótulo na interface, não uma chave de resolução.

    Um schema principal liga dois arquivos locais de referência a um resultado compartilhado.

    Prepare o contexto da verificação

    01

    Combine declaração e draft

    O padrão é 2020-12. Uma declaração $schema diferente da seleção causa erro. Tuplas usam um array items no draft-07 e prefixItems em 2020-12; mudar o seletor não migra as regras existentes.

    02

    Confira o schema antes dos dados

    A verificação independente analisa, faz a metavalidação e compila a raiz e todas as dependências, sem ler a instância. Cada referência precisa de um $id absoluto exclusivo e sem fragmento. Um destino ausente interrompe a compilação.

    03

    Atualize o relatório após editar

    Ctrl/Cmd+Enter executa a validação manual. Alterações nos dados, opções ou referências cancelam a tarefa anterior e bloqueiam a exportação. Exemplo, limpeza e remoção de referência exigem prévia e Aplicar; Desfazer restaura entradas e relatório anteriores.

    Como as verificações se complementam

    Três dialetos escolhidos explicitamente

    Este Validador JSON Schema usa Ajv para draft-07, 2019-09 e 2020-12. Condições e combinações seguem o dialeto selecionado. Palavras-chave desconhecidas impedem a compilação para que um erro de escrita não torne uma restrição silenciosamente inativa.

    Formatos com ativação opcional

    Na validação de JSON Schema, format começa desligado. Ative para usar os testes de email, date-time, URI, UUID e outros formatos do ajv-formats. Um formato desconhecido passa a causar erro de compilação. pattern continua independente dessa opção.

    Separe erros do schema e dos dados

    O validador de JSON Schema distingue sintaxe, metavalidação, referências ausentes e violações da instância. Somente relatórios concluídos podem ser exportados. A interface usa português; explicações técnicas do motor permanecem no inglês original para facilitar a investigação.

    Leia os detalhes em conjunto

    A execução para cedo quando possível, mas combinações podem gerar vários erros de ramos. Confira instancePath, schemaPath, keyword e parâmetros. A lista exibe 50 itens por vez; o download inclui o relatório aceito completo.

    Limites reais da ferramenta

    Referências não iniciam downloads
    Só referências internas e schemas importados são resolvidos. Não há busca por HTTP. Cada arquivo precisa de $id absoluto sem # na raiz, e IDs repetidos falham. O nome do arquivo não substitui o identificador mesmo quando parece combinar com a referência.
    Sem reparação automática
    Não há conversão de tipo, inserção de default nem remoção de propriedades adicionais. Todos os documentos rejeitam JSON5, comentários, vírgulas finais e chaves duplicadas para impedir que dados sobrescritos silenciosamente sejam a base da conclusão.
    Sem extensões arbitrárias
    São aceitos apenas os três drafts informados. Metaschemas personalizados, $vocabulary, $async, $data e palavras-chave desconhecidas não são suportados. Forneça um trecho compatível; um documento OpenAPI completo não é o schema esperado aqui. strictSchema do Ajv também pode recusar regras ignoradas, como then sem if. Chaves exatamente chamadas __proto__ nos mapas properties, patternProperties ou dependencies não são suportadas por uma limitação do motor; isso não proíbe a mesma chave nos dados.
    Números sem precisão arbitrária
    Valores não finitos, inteiros matemáticos fora da faixa segura e decimais alterados na ida e volta por Number são rejeitados. 1.0 e 1e0 são aceitos. Decimais comuns continuam usando IEEE 754, e multipleOf pode expor limites de ponto flutuante.
    Orçamento de tamanho e tempo
    Cada documento admite 500.000 caracteres, 50.000 nós e profundidade 40. O conjunto permite 1.000.000 de caracteres e dez referências. Após cinco segundos o worker é encerrado; isso indica execução incompleta, não dados válidos ou inválidos.
    O relatório não reúne todas as falhas
    allErrors fica desligado. Corrija a falha mostrada e execute de novo. O relatório aceita até 1.000 erros e 500.000 caracteres; exceder o orçamento faz o relatório inteiro falhar. Uma amostra aprovada não prova que todas as futuras mensagens serão aceitas.

    Dúvidas sobre o Validador JSON Schema

    Como conferir um documento com um schema?

    Informe o schema e os dados em painéis separados, ajuste o draft à declaração $schema e execute. Se precisar verificar primeiro as regras, use a ação que confere só o schema; nesse modo o conteúdo da instância não é lido.

    Quais regras de schema são reconhecidas?

    O perfil usa Ajv com draft-07, 2019-09 ou 2020-12 para tipos, propriedades, coleções, condições e combinações. Não promete todas as extensões possíveis: regras desconhecidas e extensões não suportadas falham. A opção format define se os formatos conhecidos são testados.

    Como ler os caminhos apresentados no relatório?

    O caminho da instância aponta para o valor ou objeto envolvido, e o caminho do schema aponta para a regra que falhou. A string vazia representa a raiz. Nos erros required, consulte também o parâmetro com o nome da propriedade que falta.

    Posso conferir o corpo de uma requisição de API?

    Sim, usando um schema compatível e um corpo JSON já capturado. A página não envia requisições à API nem valida uma especificação OpenAPI inteira. Garanta que o fragmento extraído use o draft e os recursos aceitos neste perfil.

    Qual é o rigor da checagem de format?

    Com a opção ligada, são usados os testes do ajv-formats; nomes desconhecidos impedem compilar. Desligada, format é uma anotação. Verificar a sintaxe de email ou URI não comprova que uma caixa postal ou recurso existe na rede.

    Tem um caso de schema para conferirmos?

    Confira também uma amostra inválida

    Use o Validador JSON Schema com exemplos aceitos e rejeitados. Registre o draft e a opção format junto ao relatório para entender diferenças entre ambientes.