Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: fetch, response.json, JSON, JavaScript, API

В каких случаях response.json() не нужен и данные уже доступны без преобразования?

Проверяет понимание того, когда ответ от сервера уже является JavaScript-объектом и не требует вызова response.json() для преобразования.

Короткий ответ

response.json() не нужен, когда сервер возвращает данные в формате, отличном от JSON, например, текст, HTML, XML, Blob или FormData. В таких случаях используются другие методы: response.text(), response.blob(), response.formData() и т.д. Если сервер возвращает JSON, то без вызова response.json() данные будут представлены в виде ReadableStream, а не готового объекта.

Длинный ответ

Когда response.json() не требуется

Метод response.json() используется для преобразования тела ответа сервера из формата JSON в JavaScript-объект. Однако, если сервер возвращает данные в другом формате, этот метод не подходит. Например, при получении обычного текста, HTML-разметки, бинарных данных (изображения, файлы) или данных формы.

Альтернативные методы

  • response.text() — для текстовых данных (HTML, CSV, plain text).
  • response.blob() — для бинарных данных (изображения, аудио, видео).
  • response.formData() — для данных формы (multipart/form-data).
  • response.arrayBuffer() — для низкоуровневых бинарных данных.

Пример

fetch('/api/data')
  .then(response => {
    if (response.headers.get('Content-Type') === 'text/plain') {
      return response.text(); // JSON не нужен
    }
    return response.json();
  })
  .then(data => console.log(data));

В этом примере проверяется заголовок Content-Type. Если сервер возвращает текст, используется response.text(), иначе — response.json().

Вывод

Используйте response.json() только когда уверены, что сервер возвращает JSON. В остальных случаях применяйте соответствующие методы для корректной обработки данных.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    3

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

  • Node.js

    Node.js

Ключевые слова

#fetch

#response.json

#JSON

#JavaScript

#API

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию