Manage accounts via cloud phones and web profiles. Automate posts and engage with your audience in one dashboard with Multilogin. See Details

Validador de JSON Schema

0 (0 avaliações)

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.

Você também pode soltar um arquivo na caixa.
Você também pode soltar um arquivo na caixa.

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 $schema do 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 $ref deve 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.
  • $dynamicRef e 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

Formatador e validador de JSON

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.

19
HTML para Markdown

Converta HTML em Markdown online para Hugo, Astro, Grav e outros. Cole uma página ou texto formatado, com front matter opcional. No navegador.

15
Codificador e decodificador de Base64

Codifique texto em Base64 ou decodifique Base64 em texto online, na hora e no navegador. Suporta UTF-8 e Base64 seguro para URL.

26

Ferramentas populares