Ошибка Unexpected token означает, что программа встретила символ, которого не ожидала при разборе JSON. Причиной может быть опечатка в файле, но иногда вместо JSON приходит совсем другой ответ: HTML-страница, сообщение сервера или обычный текст.
Сначала посмотрите исходное содержимое. Если это небольшой обезличенный фрагмент, вставьте его в JSON-форматтер. Он проверяет синтаксис и помогает увидеть структуру. Форматирование не исправляет ошибку автоматически.
Если первым неожиданным символом оказался знак HTML
Частый сценарий начинается с вызова response.json(). Разработчик ждёт данные, а сервер вернул страницу входа или ошибку. Первый символ HTML не подходит для начала JSON, поэтому сообщение выглядит как проблема синтаксиса.
Откройте вкладку Network в инструментах браузера. Проверьте адрес запроса, HTTP-статус, заголовок Content-Type и исходное тело ответа. Перенаправление на страницу авторизации или неверный путь API нужно исправлять на уровне запроса; переставлять кавычки здесь бессмысленно.
Если тело действительно похоже на JSON
Начните с места, указанного в сообщении об ошибке, но посмотрите и строку перед ним. Разбор часто останавливается после пропущенного разделителя, поэтому отмеченная буква может быть правильной.
Некорректный пример:
{"name":"Курс" "price":1500}
Между значением первого поля и именем второго нужна запятая:
{ "name": "Курс", "price": 1500 }
Название поля и строковое значение заключают в двойные кавычки. Одинарные кавычки, допустимые в некоторых выражениях JavaScript, не делают документ корректным JSON. Список типичных сообщений есть в справке MDN по JSON.parse.




