如何在Node/Jade/Express视图中迭代和解析JSON数据



我对Node非常陌生,还处于了解其用途和功能的初级阶段。如果这个问题给人的感觉很简单或天真,我深表歉意——我在问之前做了适当的研究。

在我的express js应用程序中,我向远程API发送了一个GET请求,并正确地接收了相应的JSON数据作为回报。然后我把它传给了我的视图(Jade),目前我已经能够以字符串形式打印JSON了。

我拥有的JSON数据是一个俱乐部的一群人/成员以及相关的字段。我想"抓取"所有的人,并在一个组织良好的表格中显示他们的姓名和相关信息。

因此,我的问题是,解析JSON数据以便访问视图中的名称和相关信息的最佳方法是什么

我的请求是这样的,其中数据是发送到视图的JSON:

res.render('standings.jade', { locals: {
          data: body,
          title: 'Team Member Information'
        }
});

我非常简单的观点是:

h2= title
p= data

我试着摆弄数据。成员,数据。[成员],数据。["成员"]、数据[成员]等无效。我错过的肯定是愚蠢的东西吧?我对成员列表感兴趣,返回的JSON如下所示:

{
"club":
{"id":1,"name":"This is a team name"},
"members":
[{"id":2,"name":"Test Name"},{"id":3,"name":"Another Name"},{"id":4,"name":"More Names"},{"id":5,"name":"Cool Person"}]
}

提前感谢!

要处理JSON数据,请使用express.bodyParser()中间件。这将使req.body对象在路由回调中对您可用。在路由处理程序函数中,将req.body作为视图局部变量的一部分传递,以使该数据对视图可用。

app.post("/some/path", express.bodyParser(), function (req, res) {
    res.render("standings.jade", {
        locals: {data: req.body, title: "Team Member Information"}
    });
});

在您看来,您将能够访问data.members来获取团队成员。

each member in data.members
    p= member.name

最新更新