Как прочитать значение json из возвращенного JSON.stringify (Node Express) - PullRequest
0 голосов
/ 07 ноября 2018

В моем узле экспресс server.js у меня есть этот маршрут:

app.get('/athlete_id_table', function(req, res) {
  database.select('*').from('participants').then(data => {
    console.log(data);
    if (data.length) {
      res.render('athlete_id_table', {
        name: JSON.stringify(data)
      });
    } else {
      res.json({
        msg: 'Could not get athlete ID, first name and last name'
      });
    }
  }).catch(err => res.sendStatus(400))
});

Этот маршрут возвращает объект атлета с id, athlete_id, email, first_name и last_name.

В шаблоне hbs 'athlete_id_table' я возвращаю объект stringify, и все, что я вижу в браузере, это массив.

<body>
  {{name}}
</body>

Вывод в браузере: [{ "ID": 1, "athlete_id": 1, "электронная почта": "xxxx@gmail.com", "first_name": "Джош", "last_name": "Stern"}]

Я попытался добавить .first_name, но вместо этого я получил пустую страницу. Может кто-нибудь сказать, как я могу отобразить имя, например. Для тестирования у меня есть только один спортсмен в базе данных.

<body>
  {{name.first_name}}
</body>

Спасибо.

1 Ответ

0 голосов
/ 07 ноября 2018

name - это массив, а не объект, поэтому для отображения имени используйте {{name.[0].first_name}}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...