我觉得你这个数据给不得完整,因为你没给列头数据,从你的信息来看,我估计表格应该是这样的IDNameSpecification01010004一次性注射器10ml
首先,你得找到列序号与表头(列名称)的关系不喜欢写原生 DOM 操作,我用 jQuery 示例了varcolumnMap=[];
$("tabletr:firstth").each(function(index){var$td=$(this);
columnMap[index]=$td.text();
});//因为第一列是CheckBox,改其值为"",以便后面取数据的时候忽略columnMap[0]="";
如果实在没有列头,也可以手工写一个映射关系出来varcolumnMap=["","ID","Name","Specification"];
现在来遍历表格的每一行(除标题行),把每一行转换成一个对象vardata=[];
$("tabletr:not(:first)").each(function(){
data.push(convertToModel($(this)));
});
其中convertToModel用于把一个 tr 的 jQuery 对象转换成模型,那么这个函数该怎么写呢?functionconvertToModel($tr){varmodel={};
$("td",$tr).each(function(i){var$td=$(this);varname=columnMap[i];
if(name){//排除""
model[name]=$td.text();
}
});returnmodel;
}
最后是 jfiddle 上的示例如果你的表格不是用
而是用来作为表头的单元格,那么注意改写对应的选择器。另外,如果表格像示例中那样通过和来区分了列头和内容,选择器还可以优化。
如果觉得《HTML格式转换成json格式 HTML转成JSON数据》对你有帮助,请点赞、收藏,并留下你的观点哦!