我对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