除其他外,我使用猫鼬和快递。我可以显示顶级值,例如“数字”,但无法获得“ contact.email”。我在server.js文件中尝试了很多选项,但我希望有人可以帮助我从ejs端的json提取此信息。谢谢!
我在我的ejs模板中使用此代码:
`<% for(var i= 0 ; i < myObj.length; i++) {%>
<li>
<span><%=myObj[i].number %>
</li>
<% } %>
</ul>`
架构
"_id" : ObjectId("5e67c84a65a2893029991863"),
"number" : 5,
"contact" : [
{
"_id" : ObjectId("5e69a33a0208203268813e01"),
"email" : "[email protected]",
}
]
}`
您可以在下面尝试此操作,因为您需要另一个循环来访问json中的联系人数组:
<% for(var i= 0 ; i < myObj.length; i++) {%>
<li>
<span><%=myObj[i].number %>
</li>
<ul>
for(var j=0 ; j < myObj[i].contact.length; j++)
<li>
<span><%=myObj[i].contact[j].email %>
</li>
<% } %>
</ul>
<% } %>
</ul>`
假设您的对象格式如下:-
var myObj= {
"_id" : ObjectId("5e67c84a65a2893029991863"),
"number" : 5,
"contact" : [{
"_id": ObjectId("5e69a33a0208203268813e01"),
"email": "[email protected]"
}]
};
您必须像下面那样循环数据:-
<span><%=myObj.number %></span>
<ul>
<% for(var i= 0 ; i < myObj.contact.length; i++) {%>
<li><%=myObj.contact[i].email %></li>
<% } %>
</ul>`
注:-由于myObj
是一个对象。 myObj.contact
是array
的myObj
。因此在这种情况下,您必须循环myObj.contact
。