Erro de parsing JSON?
Localize e corrija erros de JSON.parse() na hora. Veja a linha, coluna e causa exatas de cada erro de sintaxe — com reparo automático em um clique.
Depurando erros de parsing JSON
Abordagem passo a passo para encontrar e corrigir falhas de parsing no seu código.
Sempre registre a entrada bruta no log
Antes de chamar JSON.parse(), faça log da string crua. Muitos erros de parsing acontecem porque você está recebendo páginas HTML de erro, corpos vazios ou objetos já parseados em vez de strings JSON.
Confira os headers Content-Type
Se a resposta da API tem Content-Type: text/html, você provavelmente está recebendo uma página de erro, não JSON. Verifique a URL do endpoint e as credenciais de autenticação.
Cuidado com parsing duplo
Se seu cliente HTTP (axios, fetch) parseia automaticamente respostas JSON, chamar JSON.parse() de novo vai falhar. Confira se seus dados já são um objeto antes de parsear.
Trate casos especiais no código
Envolva JSON.parse() sempre em um bloco try-catch. Verifique strings vazias e valores null antes de parsear. Retorne um valor padrão ou objeto de erro quando o parsing falhar.
Diagnóstico de erros de parsing
De mensagens de erro enigmáticas a um documento JSON funcional em segundos.
Localização exata do erro
Veja a linha, coluna e caractere exatos que causaram a falha. O editor destaca a posição do erro automaticamente.
Mensagens de erro compreensíveis
Em vez de mensagens como 'Unexpected token < at position 0', você recebe explicações claras como 'Esperava aspas duplas mas encontrou simples na linha 3'.
Reparo automático de erros comuns
Correção com um clique para vírgulas finais, aspas simples, comentários e chaves sem aspas — as quatro causas mais frequentes de falhas em JSON.parse().
Entendendo erros de parsing JSON
Erros de JSON.parse() estão entre as exceções em tempo de execução mais comuns em aplicações JavaScript. Ocorrem sempre que a string de entrada não segue a especificação JSON à risca. Entender o padrão das mensagens de erro ajuda a diagnosticar a causa raiz sem ficar adivinhando.
Guia rápido de mensagens de erro
'Unexpected token <' — você recebeu HTML em vez de JSON (confira a URL)
'Unexpected end of input' — a resposta foi truncada (confira a rede)
'Unexpected token o at position 1' — está parseando um objeto que já foi parseado
Erro de parsing JSON — Perguntas frequentes
O que 'Unexpected token' significa em JSON.parse()?
Significa que o parser encontrou um caractere que não esperava em determinada posição. Por exemplo, 'Unexpected token <' geralmente indica que você recebeu uma página HTML de erro em vez de JSON. 'Unexpected token ,' indica vírgula final ou duplicada.
O que significa 'Unexpected end of JSON input'?
A string JSON foi cortada antes de o parser encontrar todos os colchetes e chaves de fechamento. Causas comuns: resposta de API truncada por timeout, string acidentalmente fatiada ou arquivo não baixado completamente.
Por que aparece 'Unexpected token o at position 1'?
Quase certamente você está chamando JSON.parse() em um objeto que já foi parseado. A representação em string de um objeto é '[object Object]', e o 'o' na posição 1 dispara o erro. Verifique se está parseando duas vezes.
Como corrijo 'SyntaxError: JSON.parse' no meu código?
Primeiro, registre no log a string bruta que está tentando parsear. Cole neste validador para ver o erro exato. Correções comuns no código: verifique se a API retorna JSON (não HTML), confira os headers Content-Type e assegure que o corpo da resposta não está vazio.
Por que JSON.parse falha na minha resposta de API?
Verifique três coisas: (1) o Content-Type da resposta deve ser application/json, não text/html; (2) o corpo não deve ser vazio (status 204 ou páginas de erro); (3) o servidor não deve retornar JSONP (com wrapper de callback) no lugar de JSON puro.
Posso parsear JSON com comentários?
O JSON.parse() padrão rejeita comentários. Se seus dados contêm // ou /* */, é preciso removê-los primeiro. Esta ferramenta remove comentários automaticamente durante o reparo, gerando JSON válido aceito por JSON.parse().
Qual a diferença entre JSON e um objeto JavaScript?
JSON exige chaves e strings com aspas duplas, não permite vírgulas finais, comentários nem valores undefined. Objetos JavaScript permitem tudo isso. JSON é um subconjunto estrito da sintaxe de objetos literais JavaScript — todo JSON é JS válido, mas nem todo objeto JS é JSON válido.
Ferramentas Relacionadas
Explore mais ferramentas JSON para otimizar seu fluxo de trabalho.
Corrigir JSON inválido online
Cole o JSON com defeito e ele é corrigido automaticamente. Resolve vírgulas finais, aspas simples, comentários, chaves sem aspas e outros erros de sintaxe comuns.
Validador JSON
Valide JSON instantaneamente com mensagens de erro precisas. Obtenha números exatos de linha e coluna para erros.
Formatador JSON
Formate e embeleze JSON com indentação configurável. Cole seu JSON e formate instantaneamente.
Validador JSON Schema
Valide dados JSON contra um JSON Schema. Obtenha mensagens de erro detalhadas com caminhos exatos.
Não consegue abrir o arquivo JSON?
Abra qualquer arquivo .json direto no navegador — sem instalar programas, sem configurar associações de arquivo, sem problemas de compatibilidade. Funciona em qualquer sistema operacional.