我在下面的EJS中有代码,
<table>
<% for(var i=0; i < data.length; i++) { %>
<tr>
<td><%= data[i].id %></td>
<td><%= data[i].name %></td>
</tr>
<% } %>
</table>
我的数据是这样的:
[{"id":1,"name":"bob",description:[{"name":"carol","url":"www.hp.com"},{"name":"katy","url":"www.desktop.com"}]},{"id":2,"name":"john"description:[{"name":"raya","url":"www.usus.com"},{"name":"fat","url":"www.mia.com"}]}]"
我可以操纵行以在JS => id和name中填充表格,但是我不能这样做来描述:name,url
这将输出下表(使用上面的示例数据):
<table>
<tr>
<td>1</td>
<td>bob</td>
<td>name</td>
<td>url</td>
</tr>
<tr>
<td>2</td>
<td>john</td>
</tr>
<tr>
<td>3</td>
<td>jake</td>
<td>name</td>
<td>url</td>
</tr>
</table>
帮助赞赏。
问候
最佳答案
这是因为“描述”是一个数组。因此,您可以使用嵌套循环访问其数据:
<table>
<% for(var i=0; i < data.length; i++) { %>
<tr>
<td><%= data[i].id %></td>
<td><%= data[i].name %></td>
<td><% for(var j=0; j < data[i].description.length; j++) { %>
<p><a href="<%=data[i].description[j].url%>"><%=data[i].description[j].name%></a></p>
<% } %></td>
</tr>
<% } %>
</table>
关于node.js - 在EJS中循环JSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31477764/