БлогУслугиКарьера
Обсудить проект
БлогУслугиКарьераОбсудить проект
Инструменты

Unexpected token в JSON: как найти место ошибки

Как найти причину Unexpected token: HTML вместо JSON, пропущенная запятая, неверные кавычки или обрезанный ответ сервера.

Редакция Feature IT
Редакция Feature IT·
4 окт
·
2 мин
·
Неверный элемент в структуре данных под увеличительным стеклом

Ошибка 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.

Проверьте синтаксис JSON

Вставьте обезличенный пример, чтобы найти ошибку и отформатировать данные.

Проверить JSON

Пустой или обрезанный ответ

Если тело закончилось до закрытия объекта или строки, сообщение может говорить о неожиданном конце данных. Проверьте, действительно ли сервер должен возвращать JSON для этого статуса. Например, ответ без содержимого не нужно разбирать как непустой документ.

При загрузке файла сравните его начало и конец с исходником. Копирование из журнала иногда обрезает длинную строку. Добавлять закрывающую скобку наугад опасно: документ станет синтаксически корректным, но часть данных останется потерянной.

Как локализовать ошибку

Сохраните исходный ответ для отладки в подходящем закрытом месте, убрав секреты из примера для обсуждения. Уменьшайте копию до небольшого фрагмента, который всё ещё воспроизводит ошибку. После исправления проверьте полный документ заново.

Корректный JSON ещё должен соответствовать ожиданиям API. Строка вместо числа или отсутствующее обязательное поле могут пройти синтаксическую проверку и быть отклонены приложением. Разница между этими этапами разобрана в руководстве по JSON.

Обсудим ваш проект?

Оставьте контакты — перезвоним и обсудим задачу

Содержание
  • Если первым неожиданным символом оказался знак HTML
  • Если тело действительно похоже на JSON
  • Пустой или обрезанный ответ
  • Как локализовать ошибку
Поделиться:

Похожие статьи

Как рассчитать стоимость текста за 1000 знаков
Инструменты

Как рассчитать стоимость текста за 1000 знаков

3 мин
Текст объявления не помещается: как сократить его под лимит
Инструменты

Текст объявления не помещается: как сократить его под лимит

2 мин
utm_content: как различать баннеры и кнопки в одной кампании
Инструменты

utm_content: как различать баннеры и кнопки в одной кампании

3 мин
Feature IT

Feature IT — платформа по обучению программированию и разработке цифровых продуктов. Мы создаём современные веб-решения для бизнеса и обучаем этому других!

Политика конфиденциальностиПользовательское соглашение

О компании

  • Блог
  • Карьера

Услуги разработки

  • Разработка сайтов под ключ
  • Веб-приложения на React/Next.js
  • Telegram-боты для бизнеса
  • Mini Apps (Telegram, VK)
  • SEO-оптимизированные сайты
  • Автоматизация бизнес-процессов
  • Поддержка и развитие IT-продуктов

Обучение

  • Курс Python с нуля
  • Алгоритмы и структуры данных
  • Паттерны проектирования
  • Подготовка к собеседованиям в IT
  • Практика на реальных проектах

Инструменты

  • Генератор UTM-меток
  • Счётчик символов