我在下面的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/

10-11 06:15