如何从返回的JSON.stringify中读取JSON值(Node Express)

时间:2018-11-07 20:07:50

标签: json express templates

在我的节点Express 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,运动员ID,电子邮件,名字和姓氏。

在“ athlete_id_table” hbs模板中,我返回了字符串化对象,并且在浏览器中看到的只是数组。

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

在浏览器中的输出: [{“ id”:1,“ athlete_id”:1,“ email”:“ xxxx@gmail.com”,“ first_name”:“ Josh”,“ last_name”:“ Stern”}]

我尝试添加.first_name,但是却得到了空白页。例如,有人可以告诉我如何显示名字。出于测试目的,数据库中只有一名运动员。

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

谢谢。

1 个答案:

答案 0 :(得分:2)

name是一个数组,而不是对象,因此要渲染名称,请使用{{name.[0].first_name}}