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.

1
2
3

Depurando erros de parsing JSON

Abordagem passo a passo para encontrar e corrigir falhas de parsing no seu código.

1

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.

2

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.

3

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.

4

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.