Validador de respostas JSON

Cole o esquema esperado e a resposta para gerar um relatório copiável. A verificação usa os dados capturados e as regras suportadas, sem chamar a API.

Funciona localmente no seu navegador
O esquema e a resposta são validados inteiramente neste navegador. Nenhum payload, dado de conta ou credencial de API sai da página.
JSON Schema
Resposta de API capturada
Resumo da validação

As regras aceitas incluem referências locais $ref, type, propriedades do objeto, campos obrigatórios, arrays, enum, const, formatos, comprimentos, padrões, intervalos e regras de composição comuns.

Resultados da validação
  • Cole um JSON Schema e uma resposta de API para validá-la.

Valide contratos de resposta sem executar uma suíte de testes

Este é um auxiliar de contrato no navegador para fixtures e respostas capturadas. Revise vocabulário avançado de JSON Schema, referências remotas e o comportamento de integração na sua própria suíte de testes.

Como validar uma resposta de API

Cole o JSON Schema que a sua API promete e uma resposta JSON capturada; depois clique em Validar resposta para ver cada regra violada com o caminho JSON Pointer e três cartões de resumo (resultado, número de erros e tipo da resposta).

O esquema e a resposta são analisados na própria página. Nenhuma requisição os envia para fora, a API não é chamada em momento algum e o verificador aplica um subconjunto documentado do JSON Schema, não um validador completo do padrão.

  1. Cole o JSON Schema esperado no campo da esquerda ou clique em Carregar exemplo para preencher os dois campos com um contrato pequeno (id, email e roles obrigatórios) e validá-lo na hora.
  2. Cole a resposta JSON capturada no campo da direita. O JSON é analisado antes de qualquer regra, então um payload malformado vira erro de análise em vez de gerar constatações.
  3. Clique em Validar resposta. Cada constatação combina um nível (correto ou erro), um caminho JSON Pointer como $/roles/0 e uma frase; os cartões mostram Válida/Inválida, o número de erros e o tipo da resposta.
  4. Use Copiar relatório para copiar as constatações em texto simples e Limpar para esvaziar os dois campos, o resumo, as constatações e o botão de cópia; um campo vazio mostra um aviso no seu idioma.

O que o validador verifica e o que ele ignora

Regras aplicadas

Tipos (incluindo integer), propriedades obrigatórias, additionalProperties (false ou um esquema), enum e const com comparação profunda, os formatos email, uuid, date, date-time, uri, uri-reference, hostname e ipv4, além de minLength/maxLength/pattern, minimum/maximum/exclusiveMinimum/exclusiveMaximum na forma numérica e booleana do draft 4, multipleOf, minItems/maxItems/uniqueItems com um único esquema items, minProperties/maxProperties e allOf/anyOf/oneOf.

Referências locais são resolvidas no mesmo documento: #, #/$defs/... e #/definitions/... . Os caminhos são JSON Pointers: $ é a raiz, /0 é o primeiro item de um array e / e ~ dentro de um nome viram ~1 e ~0. Formatos desconhecidos são ignorados, e a verificação para em 60 níveis de aninhamento com uma mensagem explícita.

Regras não aplicadas

Um $ref que não começa com # é reportado como não resolvido em vez de ser baixado, então esquemas remotos não são carregados. A forma tupla de items (um array de esquemas), if/then/else, dependencies, patternProperties, propertyNames e as palavras-chave de codificação de conteúdo ficam fora do conjunto implementado; palavras desconhecidas são apenas ignoradas.

A página nunca envia o payload a um servidor nem o executa; ela é um apoio de revisão para fixtures e respostas capturadas, não um teste de conformidade. Para comportamentos específicos de um draft ou para bloquear uma implantação, use um validador completo na sua própria suíte.

Ler e copiar o relatório

Os três cartões contam os erros de esquema e mostram o tipo JSON da resposta (object, array, string, number, integer, boolean, null). As constatações aparecem na ordem em que são encontradas; quando nada falha, a lista mostra uma única entrada correta.

Copiar relatório copia linhas como [ERROR] $/id — Esperava-se string, recebeu-se integer. para colar em um chamado ou mensagem de commit. Nada é armazenado: Limpar reinicia a página e, ao recarregar, a área de trabalho volta vazia.

Ferramentas recentes: