如何在nodejs中迭代复杂的json字符串

时间:2015-11-16 14:42:40

标签: javascript arrays json node.js express

我们有这个json数据

{
 "class 1":
    [
        {"student_name":"ABC"},
        {"student_name":"BDC"}
    ],
 "class 2":
    [
        {"student_name":"BBB"},
        {"student_name":"ADS"}
    ]
}

我们在快速js应用程序中使用ejs作为视图,我们希望在html中输出这样的东西 第1类

  • ABC
  • BDC

第2课

  • BBB
  • ADS

使用foreach($ array作为$ key => $ value)在php中执行此操作很简单但是我们如何使用javascript在json字符串中执行此操作

现在只有这个我能想到的

for(var i = 0;i<students.length;i++)
{
    %><%= students[i]['student_name'] %><%
}

但它不起作用

1 个答案:

答案 0 :(得分:0)

因为你正在处理一个对象,你可以简单地迭代它,因为评论者已经链接/说过了。

执行如下for loop给出递增变量当前对象值,使样式/标记变得简单,然后嵌套数组以类似的方式工作。

<% var data = {
    "class 1": [
            {"student_name":"John"},
            {"student_name":"Harry"}
    ],
    "class 2": [
            {"student_name":"Kelly"},
            {"student_name":"Melanie"}
    ]
}
%>
<% for (x in data) {%>
    <h3><%- x %></h3>
    <ul>
    <% for (n in data[x]) {%>
        <li><%- data[x][n].student_name %></li>
    <% } %>
    </ul>
<% } %>