HTML格式转换成json格式,HTML转成JSON数据

我觉得你这个数据给不得完整,因为你没给列头数据,从你的信息来看,我估计表格应该是这样的IDNameSpecification01010004一次性注射器10ml

首先,你得找到列序号与表头(列名称)的关系不喜欢写原生 DOM 操作,我用 jQuery 示例了var columnMap = [];

$("table tr:first th").each(function(index) {    var $td = $(this);

columnMap[index] = $td.text();

});// 因为第一列是 CheckBox,改其值为 "",以便后面取数据的时候忽略columnMap[0] = "";

如果实在没有列头,也可以手工写一个映射关系出来var columnMap = ["", "ID", "Name", "Specification"];

现在来遍历表格的每一行(除标题行),把每一行转换成一个对象var data = [];

$("table tr:not(:first)").each(function() {

data.push(convertToModel($(this)));

});

其中 convertToModel 用于把一个 tr 的 jQuery 对象转换成模型,那么这个函数该怎么写呢?function convertToModel($tr) {    var model = {};

$("td", $tr).each(function(i) {        var $td = $(this);        var name= columnMap[i];

if (name) { // 排除 ""

model[name] = $td.text();

}

});    return model;

}

最后是 jfiddle 上的示例如果你的表格不是用 

 而是用  来作为表头的单元格,那么注意改写对应的选择器。另外,如果表格像示例中那样通过  和  来区分了列头和内容,选择器还可以优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值