ForHosting KIT · Dados e planilhas

Validar JSON com esquema

Saiba se um registro cumpre as regras que deveria seguir: no exemplo, Ada com 37 anos e as etiquetas math e code atende a todas as regras, e a lista de problemas volta vazia. Quando algo falha, você recebe todos os problemas de uma vez. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve

Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.

Um identificador ausente, uma propriedade inesperada, uma string curta ou um número fora do intervalo permitido pode interromper uma importação muito depois da análise sintática. Cada problema inclui o caminho do documento, o caminho do esquema, a palavra-chave e uma explicação clara, para que você localize diretamente o campo que precisa de correção.

Bem escrito não é o mesmo que correto

Dados podem ser lidos perfeitamente e ainda assim estar errados para o sistema que os recebe. Um identificador faltando, uma entrada inesperada, um texto curto demais ou um número fora do limite podem quebrar uma importação muito depois de os dados terem sido lidos sem problema. A leitura só confere se a pontuação está em ordem. O esquema é onde ficam as expectativas reais: quais entradas precisam existir, que tipo de valor cada uma tem, quais limites valem e se algo a mais é permitido. Esta ferramenta compara os dados com esse esquema e lista todas as violações que encontra, sem parar na primeira.

Como ler o resultado e aproveitá-lo

Uma lista de problemas vazia significa que todas as regras foram cumpridas, como no exemplo: Ada, com 37 anos e as etiquetas math e code, atende a um esquema que pede um nome com pelo menos duas letras, uma idade em número inteiro que não fique abaixo de zero, etiquetas sem repetição e nenhuma outra entrada. Cada problema informa onde está nos dados, qual regra foi descumprida e uma mensagem legível. Use a mensagem para as pessoas e a localização e a regra para a automação: um formulário pode destacar o campo certo na tela e uma importação pode agrupar falhas repetidas antes que os registros de um parceiro cheguem ao seu banco de dados.

Valide o contrato, não só a pontuação

Ele não sabe que um pedido precisa ter número, que uma quantidade deve ser positiva ou que um objeto deve rejeitar campos desconhecidos. O resultado traz o veredito booleano <code>valid</code> e o array <code>violations</code>. Um array vazio significa que todas as restrições avaliadas foram cumpridas.

Quando há falhas, todos os problemas são preservados, sem parar no primeiro. O validador cobre tipos, propriedades obrigatórias e dependentes, propriedades adicionais, itens de arrays, comprimentos, padrões, limites numéricos, constantes, enumerações, referências locais e composição de esquemas.

Leia os caminhos das violações sem adivinhar

A string vazia identifica a raiz; <code>/customer/email</code> aponta para o e-mail em customer; e <code>/lines/2/quantity</code> aponta para quantity no terceiro item. Use a mensagem em telas e logs, mas prefira caminho e palavra-chave na automação. Um formulário pode vincular o erro ao controle correto, e um pipeline pode agrupar falhas recorrentes.

Como a ordem de percurso é determinística, o mesmo documento e esquema sempre geram a mesma saída.

Proteger importações de dados

Valide registros de parceiros antes da carga para impedir que campos ausentes e formatos inesperados avancem.

O que uma validação bem-sucedida retorna?

Ela retorna valid como true e um array violations vazio.

A validação para no primeiro problema?

Não. Ela relata cada violação com caminho do documento, caminho do esquema, palavra-chave e mensagem.

Como ler a localização que acompanha cada problema?

Uma localização vazia se refere ao documento inteiro. Uma localização como /customer/email aponta o e-mail dentro de customer, e /lines/2/quantity aponta a quantidade do terceiro item de lines, porque as posições são contadas a partir do zero.

Que tipos de regra o esquema consegue expressar?

O tipo de cada valor, quais entradas são obrigatórias ou dependem de outras, se entradas inesperadas são aceitas, tamanho e padrão dos textos, limites dos números, valores fixos e listas de valores permitidos, regras para os itens de uma lista e combinações de várias regras.

Por que dados que abrem sem erro ainda podem falhar na conferência?

Porque ler os dados só confirma que chaves, aspas e vírgulas estão no lugar. A leitura não sabe que um pedido precisa de número, que uma quantidade precisa ser positiva ou que entradas desconhecidas devem ser recusadas: essas expectativas ficam no esquema.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/data/json-schema-validate

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/data/json-schema-validate \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"document":{"name":"Ada","age":37},"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}}}'
{
  "document": {
    "name": "Ada",
    "age": 37
  },
  "schema": {
    "type": "object",
    "required": [
      "name"
    ],
    "properties": {
      "name": {
        "type": "string"
      }
    }
  }
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.json_schema_validate",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_mb25
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Um JSON pode estar perfeitamente bem-formado e ainda estar errado para o sistema que o recebe. Este validador compara um documento JSON com um JSON Schema e retorna todas as violações detectadas em uma única resposta.

Valide o contrato, não apenas a sintaxe JSON

Um parser JSON informa somente se chaves, aspas, vírgulas e valores formam um JSON válido. JSON Schema expressa essas expectativas como um contrato legível por máquina. Envie o documento em <code>document</code> e o contrato em <code>schema</code>.

Leia os caminhos das violações sem adivinhar

Cada violação contém um <code>path</code> em formato JSON Pointer. O escape de Pointer mantém inequívocos até nomes com barra ou til. <code>schema_path</code> indica a regra responsável, enquanto <code>keyword</code> fornece uma categoria estável, como <code>required</code>, <code>type</code> ou <code>minimum</code>.

Diferencie esquema malformado de dados inválidos

Um documento inválido produz um resultado normal: a solicitação conclui com <code>valid</code> igual a false e explica todas as violações. Um esquema malformado é diferente, pois nenhuma validação confiável pode ocorrer. A implementação é pura e não acessa a rede; portanto, não busca referências remotas. Se uma palavra-chave tiver formato errado, um tipo for desconhecido, uma expressão regular não compilar, um limite numérico não fizer sentido ou uma referência local não for resolvida, a capacidade retorna <code>invalid_input</code>. Isso evita confundir contratos quebrados com dados ruins. Use referências JSON Pointer locais iniciadas por <code>#/</code>. A validação atende limites de API, importações, saídas estruturadas e pipelines de build. Solicitações pela API começam em US$ 0,002, e a mesma lógica pode rodar no navegador.

Rejeitar payloads de API incorretos

Confira corpos de solicitações e retorne caminhos precisos para todos os campos que os clientes precisam corrigir.

Testar JSON gerado

Verifique saídas estruturadas contra tipos, intervalos e propriedades obrigatórias antes de outro sistema agir.

O que acontece se o esquema estiver malformado?

A solicitação falha com invalid_input, pois um contrato inválido não produz validação confiável.

Referências remotas de esquema são aceitas?

Não. O validador não acessa a rede e aceita referências JSON Pointer locais no esquema enviado.

Quanto custa uma validação pela API?

Cada solicitação começa em US$ 0,002. O executor do navegador usa a mesma lógica pura em verificações interativas.

Ver a documentação completa do KIT →