我遇到了一个情况,需要将HTML表格数据转换为JSON。在这个过程中,我需要逐行迭代并将每一行转换为数组,然后将整个数组转换为JSON。如何迭代表格(每一行和每一列)?
我遇到了一个情况,需要将HTML表格数据转换为JSON。在这个过程中,我需要逐行迭代并将每一行转换为数组,然后将整个数组转换为JSON。如何迭代表格(每一行和每一列)?
首先,正如Fredrik所指出的那样,我们需要包含https://github.com/douglascrockford/JSON-js。
其次,我们可以使用jQuery.fn.map和jQuery.fn.get来创建一个数组,其中包含td
元素的jQuery.fn.text内容的tr
数组:
var AoA = $('table tr').map(function(){
return [
$('td',this).map(function(){
return $(this).text();
}).get()
];
}).get();
var json = JSON.stringify(AoA);
像这样吗?将每个td的内容提取到myTable[rowIx][tableIx]
数组中。
var myTable = [];
$('#myTable tr').each(function (i, tr) {
var myTr = [];
$('td', tr).each(function(j, td) {
myTr.push($(td).html());
});
myTable.push(myTr);
});
<script type="text/javascript" src="http://json.org/json2.js"></script>
然后将你的数组序列化:
JSON.stringify(myTable)