Validar sintaxe JSON
Cole ou envie uma string JSON para verificar se a sintaxe é válida sem alterar, formatar ou reparar o conteúdo original.
Executar grátis
O validador sempre retorna um resultado estruturado: uma entrada válida produz um indicador verdadeiro simples, enquanto uma entrada inválida produz falso junto com a mensagem do analisador e a posição, a linha e a coluna onde a análise parou. Essa resposta previsível é útil em editores, formulários de upload, verificações de implantação, suítes de testes e qualquer fluxo que precise explicar um documento JSON incorreto sem interromper a execução.
Verifique a sintaxe sem alterar o documento
Um validador de sintaxe deve responder a uma pergunta específica: um analisador compatível com o padrão consegue ler exatamente esta string? Esta ferramenta envia o texto fornecido diretamente ao analisador JSON da plataforma. Ela não remove espaços das extremidades, troca aspas, apaga comentários, insere vírgulas, reordena chaves nem reinterpreta valores. Essa cautela é importante ao testar configurações ou cargas de API, pois uma correção automática poderia esconder o defeito que ainda falhará em produção. Um resultado válido significa que a string completa foi aceita como um único valor JSON, incluindo objetos, arrays, strings, números, booleanos e null. Um resultado inválido mantém a falha na saída normal, em vez de transformá-la em exceção. Assim, você pode exibir a resposta imediatamente ou verificar o indicador de validade no código. Texto vazio, conteúdo adicional, comentários, strings com aspas simples, vírgulas finais e caracteres de controle sem escape continuam inválidos porque não fazem parte da sintaxe JSON.
Entenda o local do erro informado
Quando a análise falha, o resultado inclui um objeto de erro com uma mensagem e três coordenadas. A posição é um deslocamento de caracteres iniciado em zero a partir do começo da string JavaScript. Linha e coluna começam em um, o que facilita sua exibição em um editor ou aviso de validação. Cada quebra de linha aumenta a contagem de linhas e reinicia a coluna. O local mostra onde o analisador percebeu que não poderia continuar; o erro real pode estar logo antes. Por exemplo, a falta de uma vírgula entre duas propriedades costuma ser indicada na aspa inicial da segunda, pois é nesse ponto que o analisador descobre que a primeira não foi seguida corretamente. Um objeto ou array incompleto é indicado no fim do texto. A redação do analisador pode variar entre ambientes JavaScript; use os campos numéricos para navegação e apresente a mensagem às pessoas, em vez de comparar o texto inteiro como categoria permanente.
Use o resultado com segurança em formulários e verificações
Em um formulário no navegador, execute a validação antes de enviar uma configuração e mova o cursor para a posição retornada quando o resultado for falso. Em um fluxo de API, trate a resposta como dados: prossiga somente quando for válida; caso contrário, anexe linha, coluna e mensagem a um relatório de build, chamado de suporte ou upload recusado. JSON malformado é conteúdo esperado do usuário, por isso recebe um resultado normal com o indicador falso, e não uma falha de entrada inválida. A solicitação só é rejeitada quando o campo de texto obrigatório está ausente ou não é uma string, pois nesse caso não há fonte JSON para examinar. O algoritmo é determinístico e não utiliza rede, modelo, valor aleatório, relógio nem estado persistente. O tempo de execução cresce linearmente com o tamanho do documento na análise e no cálculo comum do local. O uso da API custa US$ 0,002 por solicitação, enquanto a versão no navegador realiza localmente a mesma verificação.
Casos de uso
Valide configurações antes da implantação
Interrompa uma versão quando um arquivo JSON tiver vírgula ausente, colchete sem par, escape inválido ou outro defeito de análise.
Forneça orientação precisa em um editor
Use o deslocamento, a linha e a coluna retornados para conduzir o usuário ao ponto em que a análise falhou.
Recuse exemplos de cargas API malformadas
Verifique strings JSON capturadas ou geradas em testes sem deixar uma exceção interromper o executor.
Perguntas frequentes
O que o validador de sintaxe JSON retorna?
Um JSON válido retorna um objeto com valid igual a true. Um JSON inválido retorna valid igual a false, mensagem, posição iniciada em zero e linha e coluna iniciadas em um.
Ele repara ou formata JSON inválido?
Não. A ferramenta valida exatamente a string original e informa a falha sem alterar o documento.
Comentários e vírgulas finais são aceitos?
Não. O padrão JSON não permite comentários nem vírgulas finais, que são informados como erros de sintaxe.
Um valor primitivo pode ser um JSON válido?
Sim. Um documento JSON pode conter objeto, array, string, número, booleano ou null como valor principal.
Quanto custa uma validação pela API?
Cada solicitação de API custa US$ 0,002. A ferramenta interativa do navegador pode executar localmente a mesma validação determinística.
Para desenvolvedores — acesso via API
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.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/web/json-validate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"{\"name\":\"Ada\",\"active\":true}"}'const res = await fetch("https://api.kit.forhosting.com/web/json-validate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "{\"name\":\"Ada\",\"active\":true}"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/json-validate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "{\"name\":\"Ada\",\"active\":true}"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/json-validate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"{\\"name\\":\\"Ada\\",\\"active\\":true}"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"{\"name\":\"Ada\",\"active\":true}"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/json-validate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"text": "{\"name\":\"Ada\",\"active\":true}"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.json_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.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
timeout_sec | 30 |
max_crawl_pages | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |