HTML表到JSON

Nat*_*ate 18 html jquery

我需要获取表行并转换为JSON.

有任何想法吗?我在这里有这个代码,但它不起作用.

function tableToJSON(tableID) {
    return $(tableID + "  tr").map(function (row) {
        return row.descendants().pluck("innerHTML");
    }).toJSON();
}
Run Code Online (Sandbox Code Playgroud)

sla*_*dau 19

function tableToJson(table) {
    var data = [];

    // first row needs to be headers
    var headers = [];
    for (var i=0; i<table.rows[0].cells.length; i++) {
        headers[i] = table.rows[0].cells[i].innerHTML.toLowerCase().replace(/ /gi,'');
    }

    // go through cells
    for (var i=1; i<table.rows.length; i++) {

        var tableRow = table.rows[i];
        var rowData = {};

        for (var j=0; j<tableRow.cells.length; j++) {

            rowData[ headers[j] ] = tableRow.cells[j].innerHTML;

        }

        data.push(rowData);
    }       

    return data;
}
Run Code Online (Sandbox Code Playgroud)

取自John Dyer的博客

  • @Awena作者应该因他们的工作而受到赞誉. (12认同)
  • 答案似乎是pla窃。就像@John Dyer所说,它似乎来自[johndyer.name/html-table-to-json](http://www.johndyer.name/html-table-to-json/) (3认同)

lig*_*h05 5

我对上述所有解决方案都不满意,最终编写了自己的 jQuery 插件来完成此任务。它与解决方案非常相似,但接受多个选项来自定义结果,例如忽略隐藏行、覆盖列名称和覆盖单元格值

如果您更需要这个插件,可以在这里找到该插件以及一些示例: https: //github.com/lightswitch05/table-to-json