繁体   English   中英

如何在 html 表中显示 JSON 响应数据

[英]How do I display JSON response data in a html table

我是 JSON 的新手,并且在使用 getJSON 为大学作业在网页上显示数据时遇到了困难。 我尝试了一个循环来附加表行,但有点不清楚如何使用从 JSON 文件返回的数据。

这是我试图开始工作的内容:

<body>
    <table>
    <tr>
        <th>year</th>
        <th>sem</th>
        <th>module</th>
        <th>crn</th>
        <th>title</th>
        <th>credits</th>
         <th>level</th>
         <th>coordinator</th>
    </tr>
</table>
    <script src="//code.jquery.com/jquery-1.7.1.min.js"></script>
    <script>
      $.getJSON('modules.json', function(data) {
      console.log(data);
      var tr;
        for (var i = 0; i < data.length; i++) {
            tr = $('<tr/>');
            tr.append("<td>" + data[i].year + "</td>");
            tr.append("<td>" + data[i].sem + "</td>");
            tr.append("<td>" + data[i].module + "</td>");
            tr.append("<td>" + data[i].crn + "</td>");
            tr.append("<td>" + data[i].title + "</td>");
            tr.append("<td>" + data[i].credits + "</td>");
            tr.append("<td>" + data[i].level + "</td>");
            tr.append("<td>" + data[i].coordinator + "</td>");

            $('table').append(tr);

            }
      });
    </script>
</body>

在检查获取响应时,我可以看到 JSON 数据已成功返回,但尽管尝试实现了许多示例,但我还是无法将其显示在表格中。 我的理解是,它是在循环中附加行,但无论我尝试什么,我似乎都无法获得任何表输出。 我的网页现在只显示表格标题。

下面是我的json文件:

{ "modules":[
    {
        "year": 2,
        "sem": 1,
        "module": "COM145",
        "crn": 1865,
        "title": "Content Authoring",
        "credits": 10,
        "level": 5,
        "coordinator": "Clarke Kent"
    },
    {
        "year": 1,
        "sem": 3,
        "module": "COM1333",
        "crn": 2763,
        "title": "Acad Study Skills for M'Media",
        "credits": 10,
        "level": 5,
        "coordinator": "Bruce Wayne"
     }
]}

谢谢

检查你做错的地方,

$.getJSON('modules.json', function(data) {
        var tr;
        for (var i = 0; i <data.modules.length; i++) {
            tr = $('<tr/>');
            tr.append("<td>" + data.modules[i].year + "</td>");
            tr.append("<td>" + data.modules[i].sem + "</td>");
            tr.append("<td>" + data.modules[i].module + "</td>");
            tr.append("<td>" + data.modules[i].crn + "</td>");
            tr.append("<td>" + data.modules[i].title + "</td>");
            tr.append("<td>" + data.modules[i].credits + "</td>");
            tr.append("<td>" + data.modules[i].level + "</td>");
            tr.append("<td>" + data.modules[i].coordinator + "</td>");

            $('table').append(tr);

            }

      });

也通过 jquery.each 方法检查此方法

$.getJSON('modules.json', function(data) { 
        $.each(data.modules, function(index, val) {
            tr = $('<tr/>');
            tr.append("<td>" + val.year + "</td>");
            tr.append("<td>" + val.sem + "</td>");
            tr.append("<td>" + val.module + "</td>");
            tr.append("<td>" + val.crn + "</td>");
            tr.append("<td>" + val.title + "</td>");
            tr.append("<td>" + val.credits + "</td>");
            tr.append("<td>" + val.level + "</td>");
            tr.append("<td>" + val.coordinator + "</td>");    
            $('table').append(tr);
        });

      });

好的,所以我得到了这个排序。 我的 JSON 文件开头的“模块”标题引起了问题,当我尝试输出数组的任何值时,我会得到一个空值。 我刚刚摆脱它,回到一个数组对象,我可以再次输出 data.value 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM