Pular para o conteúdo
SDETRole
SDETRole

JSON e dados

Validador de JSON Schema

Valide JSON com schemas draft 2020-12 ou draft-07, ou gere um schema.

Roda inteiramente no seu navegador Sem cadastro

Schema · 2020-12

JSON data

Paste a schema and some data, or load the sample

No schema yet? Paste a known-good response as data and click “Generate schema from data” to get a starting point.

Sobre esta ferramenta

A validação por schema transforma “a resposta parece certa” em uma verificação de contrato repetível: campos obrigatórios, tipos, formatos, enums e formato dos arrays. Este validador usa o Ajv, a mesma biblioteca que muitas suítes de teste em JavaScript usam, com ajv-formats para checar email, date-time, uuid e uri. Cada erro é listado com o caminho da instância (/items/1/qty) e uma mensagem clara, e todos os erros são informados, não só o primeiro. Se você ainda não tem um schema, cole uma resposta sabidamente correta, gere um schema inicial a partir dela e depois deixe-o mais rigoroso à mão.

Como usar

  1. Cole o schema à esquerda e os dados JSON à direita, ou carregue o schema de pedido de exemplo e seus dados propositalmente quebrados.
  2. Deixe o draft em “Auto” para seguir a palavra-chave $schema do schema, ou force 2020-12 ou draft-07.
  3. Corrija os erros listados; o resultado é atualizado enquanto você digita.
  4. Para começar um novo schema, cole uma resposta real como dados e clique em “Generate schema from data”.

Perguntas frequentes: Validador de JSON Schema

Devo usar draft 2020-12 ou draft-07?

Use o que suas outras ferramentas suportam. O OpenAPI 3.1 está alinhado ao 2020-12, enquanto muitos validadores mais antigos e as ferramentas de OpenAPI 3.0 estão mais próximos do draft-07. As principais diferenças visíveis são os arrays de tupla (prefixItems no 2020-12, items como array no draft-07) e $defs versus definitions.

O schema gerado é bom?

É um ponto de partida inferido de um único exemplo: tipos, objetos aninhados, formato dos itens de arrays, formatos comuns de strings e todas as chaves vistas no exemplo marcadas como obrigatórias. Ele não tem como saber quais campos são opcionais, quais valores são enums nem os limites numéricos, então revise-o antes de usá-lo como contrato.

Por que um e-mail inválido é aceito?

A palavra-chave “format” só é aplicada quando o validador ativa a checagem de formatos. Esta ferramenta a ativa via ajv-formats; se o seu framework de teste não fizer isso, adicione o plugin de formatos lá também, ou os mesmos dados vão passar.

Digite para buscar em todo o SDETRole.

Busca de texto completo com Pagefind · roda no seu navegador Abrir página de busca →