【问题标题】:How to iterate and parse JSON data in Node/Jade/Express views?如何在 Node/Jade/Express 视图中迭代和解析 JSON 数据?
【发布时间】:2012-07-19 04:22:35
【问题描述】:

我对 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、data.[members]、data.["members"]、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"}]
}

提前致谢!

【问题讨论】:

    标签: json node.js express pug


    【解决方案1】:

    要处理 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
    

    【讨论】:

      猜你喜欢
      • 2016-01-21
      • 1970-01-01
      • 1970-01-01
      • 2017-02-26
      • 2016-08-28
      • 2014-04-30
      • 2015-02-15
      • 2012-07-27
      • 2015-12-28
      相关资源
      最近更新 更多