JSON
JSON Schema Validator
Validação de dados JSON em relação a um JSON Schema (estilo draft-07) — com o caminho exato e uma explicação para cada violação.
JSON Schema describes the expected structure of a JSON document — which fields are required, what type they are, and what constraints apply to their values. This tool checks actual data against a schema and shows the exact path to every violation.
How to use it
- Paste a JSON Schema into one field and the data to validate into the other.
- The result lists each violation separately: the exact path to the problem field and a plain-language explanation of why it doesn't match the schema.
- Valid data is immediately flagged as fully compliant with the schema.
Common uses
- Checking a third-party API response against its documented schema before integrating with it.
- Debugging your own JSON Schema — figuring out why seemingly valid data gets rejected.
- Validating a configuration file against a schema before deploying.
Things to keep in mind
JSON Schema has several versions (draft-07, 2019-09, 2020-12) with small syntax differences — check which version your production validator actually expects.
required only checks that a field is present, not its value — an empty string or null still counts as "present" if the type allows it.
Artigo sobre esta ferramenta: JSON Schema: como descrever e validar a estrutura de um JSON
Perguntas frequentes
O que validar contra um JSON Schema realmente verifica?
Verifica se seus dados JSON correspondem às regras definidas no schema — campos obrigatórios, tipos de dados, intervalos de valores, padrões de string e mais — em vez de apenas verificar se o JSON em si é sintaticamente válido.
Qual draft do JSON Schema esta ferramenta suporta?
Esta ferramenta valida contra o draft-07, uma das versões mais amplamente adotadas — schemas escritos para outros drafts podem usar palavras-chave não reconhecidas aqui.
Meu schema ou dados são enviados para algum lugar para validação?
Não. A validação acontece inteiramente no seu navegador usando uma biblioteca JavaScript — nada é enviado a um servidor.
O que faz additionalProperties: false?
Por padrão, um objeto pode conter qualquer campo além dos descritos em properties. additionalProperties: false proíbe campos extras — útil para pegar um erro de digitação no nome de uma chave ou um campo de debug esquecido por acidente.
É possível descrever um campo que aceita vários tipos?
Sim, usando um array em type, por exemplo "type": ["string", "null"], se o campo puder ser uma string ou null. Para casos mais complexos, usam-se as palavras-chave oneOf, anyOf ou allOf.