Javascript 以字符串格式而不是json sytax打印从节点JS传递到EJS的json数据
这是我的文档架构:Javascript 以字符串格式而不是json sytax打印从节点JS传递到EJS的json数据,javascript,json,node.js,ejs,Javascript,Json,Node.js,Ejs,这是我的文档架构: { "_id" : ObjectId("59b96cf0137127b27c5cd7fb"), "theatreid" : 10, "name" : "inox raghuleela ", "location" : "vashi", "address" : "sec 2,vashi, Mumbai, Maharashtra 410234", "shows" : [ {
{
"_id" : ObjectId("59b96cf0137127b27c5cd7fb"),
"theatreid" : 10,
"name" : "inox raghuleela ",
"location" : "vashi",
"address" : "sec 2,vashi, Mumbai, Maharashtra 410234",
"shows" : [
{
"mname" : "shubh mangal savdhan",
"timings" : [
6,
7,
9,
11,
15,
18
]
},
{
"mname" : "Toilet:ek prem katha",
"timings" : [
11,
12,
13,
14,
15
]
}
]
}
我正在使用nodejs,并将检索到的查询的值(显示值大于10的计时数组)传递给EJS。这个很好用!
结果如下:
我的index.ejs如下:
这太棒了
欢迎使用EJS创建模板
环
但是,我不希望以JSON格式显示输出,我希望以正常的字符串格式显示计时。
需要做什么。
请提供帮助?JSON.stringify()
用于将JavaScript对象转换为字符串,因此在您的网页上有如下输出:[{“计时”:[21]},{“计时”:[20,21]}]
您需要使用而不是JSON.stringify()
:
只需在对象上调用.toString():
var j = {"a":["b","c"]}
j.a.toString() //-> "b,c"
<% result.forEach(function(r) { %>
<li><%= r.name %></li>
<ul>
<% r.shows.forEach(function(s) { %>
<li><%= s.mname %> - <%= s.timings.toString() %></li>
<% }) %>
</ul>
<% }) %>
...
<% r.shows.forEach(function(s) { %>
<li><%= s.mname %> - <%= s.timings.join(', ') %></li>
<% }) %>
...
<% result.forEach(function(r) { %>
<li><%= r.name %></li>
<ul>
<% r.shows.forEach(function(s) { %>
<li><%= s.mname %> - <%= s.timings.filter(function(item) { return item >= 10 }).join(', ') %></li>
<% }) %>
</ul>
<% }) %>
var j = {"a":["b","c"]}
j.a.toString() //-> "b,c"