Всем привет! В этом материале рассмотрим, как отправлять данные клиенту в JSON формате в NodeJS .

NodeJS. Как отправить данные в формате JSON.

Всем привет! В этом материале рассмотрим, как отправлять данные клиенту в JSON формате в NodeJS.

Введение

В прошлой статье мы рассмотрели, как отправлять HTML страницы клиенту, испоьзуя потоки в NodeJS. Сегодня же рассмотрим, как отправлять данные в формате JSON.

Мы не будем использовать потоки для решения этой задачи, поэтому вы можете удалить весь код, относящийся к ним. Вместо них мы будем использовать end() метод, который нам уже знаком и применялся в одной из предыдущих статей.

Как отправить JSON

Первым делом мы должны поменять заголовок, чтобы браузер смог правильно обработать наши данные:

res.writeHead(200, {'Content-Type': 'application/json'});

Теперь давайте создадим объект, который мы хотим отправить клиенту:

var myObj = {
  name: 'John',
  job: 'programmer',
  age: 27
};

Теперь давайте отправим данные клиенту:

res.end(myObj);

Но на самом деле такой код не заработает правильно. Дело все в том, что метод end() ожидает увидеть данные в формате строки или буфер. У нас же есть объект, но мы можем сделать из него строку следующим образом:

res.end(JSON.stringify(myObj));

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

Зачем отправлять JSON данные клиенту

У вас, возможно, возник вопрос, а зачем вообще отправлять данные клиенту в JSON формате. Чтобы ответить на этот вопрос, представьте, что у вас есть какой-нибудь javascript, выполняющийся на стороне клиента(frontend), и он может создать какой-нибудь запрос. Например, у вас есть API. Вы можете написать следующий запрос:

localhost:3000/api/request

И сервер должен будет отправить нам данные по этому запросу. Удобнее всего будет отправлять их именно в формате JSON, чтобы скрипт, работающий на стороне клиента, мог потом с легкостью эти данные обработать.

Заключение

Итак, сегодня мы рассмотрели, как отправлять данные клиенту в формате JSON в NodeJS.

Спасибо за внимание!