我是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
我尝试过使用data.members,数据。[成员],数据。[“成员”],数据[成员]等无济于事。当然,我错过了一些愚蠢的事情?我对成员列表感兴趣,返回的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"}]
}
提前致谢!
答案 0 :(得分:3)
要处理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