Validador de JSON Schema
Cole os dados JSON à esquerda e o JSON Schema à direita, ou abra arquivos. Os dados são verificados enquanto você digita, ou clique em Validar. Nada é enviado: os dois ficam no seu navegador.
Validador de JSON Schema online
Verifique se os dados JSON seguem um JSON Schema: cole os dados à esquerda e o esquema à direita, e a ferramenta diz se os dados são válidos e, se não forem, lista cada lugar que quebra uma regra, com o caminho, a linha e a coluna e uma explicação clara. Tudo acontece no seu navegador: nem os dados nem o esquema são enviados.
Validador de JSON ou validador de JSON Schema?
Um validador de JSON verifica apenas a sintaxe: aspas, vírgulas, colchetes. Um validador de JSON Schema vai além e verifica o conteúdo: se os campos obrigatórios estão lá, se cada valor tem o tipo certo, se os números estão no intervalo, se os textos seguem um padrão, se só valores permitidos são usados. Esta página faz as duas coisas: um erro de sintaxe em qualquer das caixas aparece primeiro, com linha e coluna, e depois os dados são verificados contra o esquema. Para só a sintaxe e a formatação use o formatador e validador de JSON.
Um exemplo
Os dados têm um preço escrito entre aspas:
{
"name": "DIEG",
"price": "19.99"
}
O esquema exige um número:
{
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" }
},
"required": ["name", "price"]
}
O resultado é "Inválido" com um erro em $.price: "Esperava-se um número, mas o valor é um texto ("19.99"). Remova as aspas em volta de 19.99 para torná-lo um número." Clique em "Exemplo" para experimentar.
Como ler o resultado
- Caminho: onde está o problema, escrito como JSONPath:
$é o documento inteiro,$.items[0].priceé o preço do primeiro item. - Problema: o que está errado em palavras simples, com uma dica para os casos usuais: um número ou true/false entre aspas, um número onde se espera texto, um decimal onde se exige um inteiro.
- Local: a linha e a coluna nos seus dados; um clique seleciona o valor na caixa. Um campo obrigatório ausente aponta para o objeto que deveria tê-lo.
- Regra: a parte do esquema que foi quebrada, por exemplo
/properties/price/type; um clique a seleciona na caixa do esquema. - O resultado pode ser copiado como texto, para um chamado ou um chat.
Erros no próprio esquema
Os validadores ignoram em silêncio as palavras-chave que não conhecem, então um esquema com "requried" em vez de "required" deixa tudo passar. Esta ferramenta lista esses erros de digitação com uma sugestão, e também valores de tipo errado: um nome de tipo que não existe, um required que não é uma lista, um minLength negativo, um padrão que não é uma expressão regular válida.
Versões e palavras-chave
- Draft-04, Draft-07, 2019-09 e 2020-12. Com "Draft: automático", a versão vem da linha
$schemado esquema, e sem ela usa-se a 2020-12; você também pode escolher a versão. A página informa qual foi usada. - Todas as palavras-chave usuais: type, required, properties, additionalProperties, patternProperties, items, prefixItems, enum, const, minimum e maximum, minLength e maxLength, pattern, minItems e maxItems, uniqueItems, allOf, anyOf, oneOf, not, if/then/else, dependentRequired, $ref e $defs.
- A palavra-chave
formaté verificada: email, date, date-time, time, uri, uuid, ipv4, ipv6, hostname e outros.
Para que serve
- Testar uma API: a resposta corresponde ao contrato da documentação, com os campos, tipos, objetos aninhados e arrays certos?
- Arquivos de configuração: um arquivo de configurações está completo e correto antes da implantação?
- Troca de dados: os registros importados ou exportados são o que o outro lado espera?
- Escrever um esquema: teste com exemplos bons e ruins e veja o que ele deixa passar.
Limitações
- Um
$refdeve apontar para dentro do esquema, como#/$defs/address. A ferramenta roda no navegador e não baixa outros esquemas, por isso referências a outros arquivos ou URLs (comuns em esquemas do SchemaStore) não podem ser seguidas; a página avisa. $dynamicRefe vocabulários personalizados são aceitos só em parte. Medido na suíte de testes oficial do JSON Schema, o verificador concorda com cerca de 96 a 97 por cento das asserções para Draft-04, Draft-07 e 2019-09 e 93 por cento para 2020-12; o resto são essas referências e a regra de que format é apenas uma anotação (aqui ele é verificado).- Os dois textos precisam ser JSON estrito: comentários e vírgulas sobrando são erros de sintaxe. Esquemas em YAML não são lidos.
- Tudo fica na memória do navegador, então arquivos de muitos megabytes ficam lentos, principalmente no celular.
Ferramentas semelhantes
Formate, minifique e valide JSON online. Abra um arquivo, veja a linha e a coluna de um erro de sintaxe e baixe o resultado. No navegador.
Converta HTML em Markdown online para Hugo, Astro, Grav e outros. Cole uma página ou texto formatado, com front matter opcional. No navegador.
Codifique texto em Base64 ou decodifique Base64 em texto online, na hora e no navegador. Suporta UTF-8 e Base64 seguro para URL.
Ferramentas populares
Descubra quem hospeda um site: endereço IP, empresa de hospedagem (ASN), país e cidade do servidor. Verificador gratuito para qualquer domínio.
IP Lookup grátis: país, cidade, coordenadas e fuso horário de um endereço IP e o nome do host por consulta de IP reverso (DNS reverso). IPv4 e IPv6.
DNS lookup online grátis: registros A, AAAA, CNAME, MX, NS, TXT, SOA e CAA de qualquer domínio e o certificado SSL dele. Veja por que o DNS lookup falha.
Teste dos EUA (Nova York) se um site está no ar: código de status HTTP e tempo de resposta em ms. Ping gratuito dos EUA para qualquer URL.