Valide JSON com um JSON Schema (2020-12, 2019-09, draft 7), com cada erro localizado
Funciona no seu navegador. Nada do que você digita é enviado a lugar nenhum. Verificado em 16 de outubro de 2026.Um validador de JSON Schema verifica se um documento JSON tem a forma que um schema descreve: os tipos certos, as propriedades obrigatórias, valores dentro dos limites e nenhuma chave inesperada. Este suporta os drafts 2020-12, 2019-09, 7, 6 e 4, passa em 1.652 casos da suíte de testes oficial e aponta cada valor com falha pelo caminho e pela linha.
Esta página foi traduzida automaticamente do original em inglês. Nenhuma pessoa revisou ainda a tradução; a versão em inglês é a que deve ser considerada. Ler o original em inglês
Cole o schema no painel Schema e o JSON no painel Dados, ou clique em Testar um exemplo.
Leia o resultado: Válido, ou uma lista de erros, cada um com o caminho do valor e o que está errado.
Clique em um erro para colocar o cursor nesse valor no painel Dados, corrija-o, e a lista se atualiza enquanto você digita.
Ative Verificar formatos para testar também e-mail, data-hora, URI e os outros formatos comuns.
JSON Schema é a forma padrão de descrever como um JSON válido deve ser, usada por OpenAPI, construtores de formulários, arquivos de configuração e pipelines de dados. Cole um schema e um documento, e o resultado se atualiza enquanto você digita.
O que é verificado. Cada asserção do vocabulário de validação: type, enum, const, limites numéricos e multipleOf, tamanho de string e pattern, tamanho de array, uniqueItems, contains, tamanho de objeto, required, dependentRequired e os aplicadores properties, patternProperties, additionalProperties, items, prefixItems, allOf, anyOf, oneOf, not e if/then/else. Referências com $ref seguem ponteiros JSON, $defs, definitions, $id e $anchor dentro do schema.
Qual draft. O draft vem de $schema, ou é 2020-12 quando o schema não indica nenhum, e você pode alterá-lo. As diferenças importam: no draft 7, items com um array verifica cada posição e as palavras-chave ao lado de $ref são ignoradas; no 2020-12 as posições passam para prefixItems e $ref se combina com as irmãs.
Formatos. Desde o 2019-09, format é uma anotação, não uma verificação. Ative Verificar formatos para testar mesmo assim email, date-time, date, time, uri, uuid, ipv4, ipv6 e hostname, como a maioria espera.
Erros com que você pode agir. Cada erro informa o caminho do valor com falha, como /tags/1, a linha dele no painel Dados e a regra violada. Clique nele e o cursor vai para esse valor.
O que ele não faz. unevaluatedProperties, unevaluatedItems e $dynamicRef não são avaliados, e um $ref para um schema em outro servidor não é buscado. A página avisa sempre que um schema usa um deles, em vez de aprovar os dados em silêncio.
Gerar um schema. Cole uma amostra no lugar, e um schema inicial é escrito a partir dela, pronto para ser refinado.
O validador é testado com a JSON-Schema-Test-Suite oficial. Tudo roda no seu navegador; nada do que você cola é enviado a lugar nenhum.
Cole o schema no painel Schema e o documento JSON no painel Dados. O resultado aparece na hora: Válido, ou uma lista de erros, cada um com o caminho do valor incorreto, como /items/2/price, e a regra violada, como minimum 0. Corrija os dados ou o schema e a lista se atualiza enquanto você digita.
Use 2020-12 para schemas novos: é a especificação atual e a que o OpenAPI 3.1 usa. O draft 7 continua comum em ferramentas e bibliotecas mais antigas. Declare a versão em $schema, por exemplo https://json-schema.org/draft/2020-12/schema, porque tuplas de array, $ref e dependencies se comportam de forma diferente entre versões.
Definir additionalProperties como false torna um erro qualquer propriedade que não esteja listada em properties nem corresponda a patternProperties. Um erro de digitação como emial em vez de email é então detectado em vez de ignorado. Propriedades adicionadas por allOf em outro subschema não são vistas, o que costuma surpreender; liste-as no mesmo schema.
Desde o 2019-09, a palavra-chave format é por padrão apenas uma anotação, então os validadores não são obrigados a verificá-la. Ative aqui Verificar formatos para testar email, date-time, date, time, uri, uuid, ipv4, ipv6 e hostname. No código, bibliotecas como Ajv também precisam que a verificação de formatos seja ativada separadamente.
required nomeia exatamente as propriedades que precisam estar presentes, como id e email, enquanto minProperties apenas as conta: minProperties 2 aceita quaisquer duas chaves. Uma propriedade listada em properties mas não em required é opcional e, quando presente, ainda precisa atender ao seu próprio schema.
Sim. Mude para Gerar schema e cole uma amostra no painel Dados: um schema 2020-12 é escrito com cada propriedade tipada e as chaves presentes em todos os registros marcadas como required. Uma amostra não mostra limites, formatos nem valores permitidos, então adicione minimum, format e enum à mão antes de confiar nele.
Taxas e regras mudam; confira a fonte antes de confiar em um valor.
Ainda com dúvidas? Pergunte sobre Validador de JSON Schema e qualquer pessoa que saiba pode responder. Não é preciso ter conta.