如何在 nunjucks 中使用 JSON.parse
Posted
技术标签:
【中文标题】如何在 nunjucks 中使用 JSON.parse【英文标题】:How can I use JSON.parse in nunjucks 【发布时间】:2018-05-04 07:04:19 【问题描述】:我在mongodb
和express
中获取数据,返回没有错误,但我想在.find
的最终结果中使用JSON.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: JSON.parse(credentialInfo)
);
);
);
没有JSON.parse
,最终渲染在我的login.html
中保持不变
username: 'test-login'
最终结果出现在login.html
<p class="center-align black-text" id="preFinalCredentialClient"> usernameClient </p>
谢谢你帮助我!
【问题讨论】:
我认为credentialInfo
(mongo.find() 的结果)已经是 json 格式。你不需要打电话给JSON.parse()
它应该是什么样子的?
@AlongkornChetasumon 他已经在json
中,但在 usernameClient
中渲染时,我的<p class="black-text center-align"> usernameClient </p>
中的数据返回格式错误且混乱
【参考方案1】:
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
的属性。
【讨论】:
【参考方案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)
);
【讨论】:
【参考方案3】:它已经返回 JSON 响应,所以 你可以使用这个:
res.render("login.html",
usernameClient: credentialInfo.username
);
【讨论】:
直到usernameClient: credentialInfo
呈现,但在usernameClient
中添加username
时,它不会在前端呈现
然后传递这个:usernameClient: credentialInfo以上是关于如何在 nunjucks 中使用 JSON.parse的主要内容,如果未能解决你的问题,请参考以下文章