当前位置: 首页 > 面试题库 >

使用Jade迭代JSON

柳向明
2023-03-14
问题内容

我正在尝试使用JADE迭代JSON文档。

我的服务器(运行node.js + express)正在对.get()请求执行以下操作,

app.get('/search/', function(req,res){

  // Parse the query
  var dbQuery = url.parse(req.url, true).query;
  var product = dbQuery.product;
  var category = dbQuery.category;
  console.log('Searching for: ' + product + ' in ' + category);

  //Mongo DB setup then query
  var result;
  var server = new mongodb.Server('23.23.129.158', 27017, {});
  new mongodb.Db('militaryListDB', server, {}).open(function(err, client){
    if(err) throw err;

    var collection = new mongodb.Collection(client, 'products');
    collection.find({}).toArray(function(err, results){
      console.log(results);
      console.log(JSON.stringify(results));
      res.render('results', {result: JSON.stringify(results), title: 'Test'});
    });
  });
});

这就是它呈现给客户端的东西。

[{"_id":"50738ebbe3d87c6beaddb6f2","name":"tv","category":"tech","cost":"30"}]

我已经阅读了有关迭代数组的jade文档,并且我认为对于JSON来说,它是相同的,但是它不起作用。它只是显示一个空白。当我尝试这个

extends layout
block content
  div#wrapper                 
    p #{results}

它将显示JSON文档。但是当我尝试这个

extends layout
block content
  div#wrapper                 
    p #{results.name}

并显示空白。应该显示的时间是“电视”。如果有人可以帮助我理解迭代JSON文档,那就太好了。

谢谢!


问题答案:

在您的代码中,您无需遍历results数组,请这样做,因此您应该执行以下操作:

for result in results
     p #{result.name}


 类似资料:
  • 问题内容: 我想基于其api实现Google地图。我想添加一个基于坐标的路径。因此,我从模型中获取了坐标,并希望在对象上进行迭代以用此点填充地图。在我的Jade模板中,我包含api js代码,如下所示: 问题是:玉呈现此片段 就像在jade模板源中一样…-如果不被解析!有任何想法吗? 谢谢! 问题答案: 整个脚本标签(在其下缩进的所有内容)将通过原始文件传递,而无需进一步解析。Jade不会HTML

  • 问题内容: 我想在客户端使用Jade模板。最好使用Rails 3.1资产管道生成。我真的不知道该怎么做。 有人偶然发现相同的问题并找到了解决方案的人吗?任何想法都非常感谢。 http://jade-lang.com/ http://ryanbigg.com/guides/asset_pipeline.html 问题答案: 浏览器 也许您可以使用https://github.com/substack

  • 问题内容: 我从网络服务器获取以下JSON字符串。 我想要公开HTML中的JSON,我尝试了以下操作,但未填写字段,我也收到了“无异常”,因此我很难找出其不起作用的原因。 TS 的HTML 问题答案: 您可以使用来从对象获取键(需要IE AFAIK中的polyfill)

  • 我可以在varArgs上使用或吗?

  • 问题内容: 是否可以在 没有 任何模板引擎的 情况下 使用express ? 问题答案: 更新 有些人可能担心sendFile仅提供客户端缓存。有多种方法有服务器端缓存,并与OP的问题,一个保持直列可以发送回只是文字太发送: 以下是3年前的原始答案: 对于正在寻找PavingWays替代答案的任何人,也可以这样做: 无需写:

  • 问题内容: 我有这样一个数组: 而且我必须遍历每个 三元组 元素(不幸的是,矢量化在这里对我没有帮助…)。所以我尝试了: 希望我能得到这样的输出: ,但是没有运气! 我得到错误: 我敢肯定我犯了一个非常明显的错误……有人可以帮我吗? 问题答案: 看来您只需要将其展平。您可以从itertools使用运算符。 清单(b)输出