在 jQuery 中将 JSON 数组转换为 HTML 表

2023-12-29

有没有一种非常简单的方法可以获取 JSON 对象数组并将其转换为 HTML 表(不包括一些字段)?或者我必须手动执行此操作?


使用 jQuery 将使这变得更简单。

以下代码将获取一个数组数组并将它们存储转换为行和单元格。

$.getJSON(url , function(data) {
    var tbl_body = "";
    var odd_even = false;
    $.each(data, function() {
        var tbl_row = "";
        $.each(this, function(k , v) {
            tbl_row += "<td>"+v+"</td>";
        });
        tbl_body += "<tr class=\""+( odd_even ? "odd" : "even")+"\">"+tbl_row+"</tr>";
        odd_even = !odd_even;               
    });
    $("#target_table_id tbody").html(tbl_body);
});

您可以通过添加类似的内容来添加对要排除的键的检查

var expected_keys = { key_1 : true, key_2 : true, key_3 : false, key_4 : true };

在 getJSON 回调函数的开头并添加:

if ( ( k in expected_keys ) && expected_keys[k] ) {
...
}

围绕 tbl_row += 线。

编辑:之前分配了一个空变量

编辑:版本基于Timmmm https://stackoverflow.com/users/265521/timmmm's 免注射 https://stackoverflow.com/a/27821863/1272141贡献。

$.getJSON(url , function(data) {
    var tbl_body = document.createElement("tbody");
    var odd_even = false;
    $.each(data, function() {
        var tbl_row = tbl_body.insertRow();
        tbl_row.className = odd_even ? "odd" : "even";
        $.each(this, function(k , v) {
            var cell = tbl_row.insertCell();
            cell.appendChild(document.createTextNode(v.toString()));
        });        
        odd_even = !odd_even;               
    });
    $("#target_table_id").append(tbl_body);   //DOM table doesn't have .appendChild
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 jQuery 中将 JSON 数组转换为 HTML 表 的相关文章