我怎样才能在nunjucks中使用JSON.parse

时间:2017-11-20 23:01:10

标签: json node.js mongodb express

我在mongodb获取数据并且express返回没有错误,但我想在JSON.parse的最终结果中使用.find,请参阅下面我是如何做的试图这样做

  app.get("/login", (req, res) => {
    var credentialClient = {
      expire_at: false,
      __v: false,
      _id: false
    };

    rememberMe.find({ username: "test-login" }, credentialClient, function (err, credentialInfo) {
      if (err) {
        res.send(err);
      } else {
        res.render("login.html", {
          usernameClient: JSON.parse(credentialInfo)
        });
      }
    });
  });

如果没有JSON.parse,最终呈现会在login.html

中保持不变
{ username: 'test-login' }

最终结果显示在login.html

<p class="center-align black-text" id="preFinalCredentialClient">{{ usernameClient }}</p>

感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

credentialInfo已经是JS对象,不需要parse

app.get("/login", (req, res) => {
    var credentialClient = {
      expire_at: false,
      __v: false,
      _id: false
    };

    rememberMe.find({ username: "test-login" },
         credentialClient, function (err, credentialInfo) {
      if (err) {
        res.send(err);
      } else {
        res.render("login.html", {
          usernameClient: credentialInfo
        });
      }
    });
  });

<p class="center-align black-text" id="preFinalCredentialClient">{{ usernameClient.username }}</p>

在客户端上,您可以访问usernameClient

的属性

答案 1 :(得分:2)

我希望以下代码能为您效劳。在下面的例子中,我保留了静态json数据。在您的情况下,您可以将json数据存储在任何变量中并渲染

index.nunjucks传递该变量。

var express = require( 'express' ) ;

var nunjucks = require( 'nunjucks' ) ;

var app = express() ;

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

 {

var jsondata = 

{

firstName: "Rakesh",
lastName: "Barani"

};

return res.render('index.njk', {data:jsondata}) ;

res.render('index.njk', {data: jsondata})
});

答案 2 :(得分:1)

它已经返回JSON响应 你可以用这个:

res.render("login.html", {
   usernameClient: credentialInfo.username
});