create a json array from html table

后端 未结 5 2019
渐次进展
渐次进展 2020-12-30 17:30

i have C++ program exporting log files as HTML table and I wanted to know if there is any way that i can parse that table(something like this):

5条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-30 18:03

    Here's my implementation:

    var tableToObj = function( table ) {
        var trs = table.rows,
            trl = trs.length,
            i = 0,
            j = 0,
            keys = [],
            obj, ret = [];
    
        for (; i < trl; i++) {
            if (i == 0) {
                for (; j < trs[i].children.length; j++) {
                    keys.push(trs[i].children[j].innerHTML);
                }
            } else {
                obj = {};
                for (j = 0; j < trs[i].children.length; j++) {
                    obj[keys[j]] = trs[i].children[j].innerHTML;
                }
                ret.push(obj);
            }
        }
    
        return ret;
    };
    

    Which you would invoke like:

    var obj = tableToObj( document.getElementsByTagName('table')[0] ); // or
    var obj = tableToObj( document.getElementById('myTable') );
    

    See working example →

提交回复
热议问题