JSON Schema Validator

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
JSON Schema
JSON Data
Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

Understand JSON Schema Validator

Este validador confere um documento JSON contra um JSON Schema e lista cada ponto em que os dados não correspondem, com o caminho até o valor problemático.

How it works

Ele percorre os dados e o schema juntos, aplicando as restrições de cada palavra-chave em cada nível: type (incluindo integer), enum, required, properties, additionalProperties, pattern, minLength e maxLength, minimum e maximum, items, minItems e maxItems. Os erros carregam um caminho como $.user.email, para que você encontre o valor dentro de um documento grande. Quando um valor tem o tipo errado, o percurso para ali, porque toda verificação seguinte sobre ele seria ruído.

When to use it

  • Conferir se a resposta de uma API ainda corresponde ao formato que o seu cliente espera.
  • Testar um schema que você está escrevendo contra uma amostra que deve passar e outra que deve falhar.
  • Descobrir qual campo de um payload grande um serviço está rejeitando.
  • Confirmar que um arquivo de configuração corresponde ao schema publicado pela própria ferramenta.

Watch out for

  • O JSON Schema é permissivo por padrão. Uma propriedade não listada em properties é permitida a menos que additionalProperties seja false, e uma propriedade listada é opcional a menos que seja nomeada em required — um schema que parece rigoroso em geral não é.
  • Isto implementa um subconjunto do draft-07. $ref, allOf, anyOf, oneOf, not, const e format não são avaliados, então um schema que os usa recebe relatório sobre as partes verificáveis e silêncio sobre o resto.
  • type: number aceita inteiros, e type: integer aceita tanto 1.0 quanto 1, porque o JSON tem um único tipo numérico e 1.0 é esse número.
  • Um tipo incompatível suprime os demais erros daquele valor, então corrigir um erro pode revelar outros embaixo dele.

Not the right tool for: Schemas que se apoiam em $ref, nos combinadores ou em asserções de format. O Ajv é a implementação de referência e verifica o que isto não verifica.

Frequently Asked Questions

Quais palavras-chave de JSON Schema são suportadas?

Um subconjunto central do draft-07: type (incluindo integer e arrays de tipos), required, properties, additionalProperties, enum, pattern, minLength/maxLength, minimum/maximum, items, minItems/maxItems e schemas aninhados. Não implementados: format, const, $ref e os combinadores allOf/anyOf/oneOf/not. Para cobertura completa do draft-07, use o Ajv no seu próprio build.

Qual é a diferença entre JSON Schema draft-07 e 2020-12?

O draft-07 é a versão mais amplamente adotada (padrão em muitas ferramentas). O draft 2020-12 acrescenta $dynamicRef, unevaluatedProperties e um comportamento melhorado de $ref. Use o draft-07 a menos que a sua cadeia de ferramentas exija especificamente um draft mais novo.

Como validar a resposta de uma API contra um schema?

Cole a resposta da API no campo "Dados" e o componente de schema do seu OpenAPI/Swagger no campo "Schema". Isso é útil para garantir que as respostas da API correspondem ao formato documentado antes de escrever o código do cliente.

How to Use JSON Schema Validator

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.