通过忽略特定列将 HTML 表数据转换为 jQuery 中的 JSON 对象
Posted
技术标签:
【中文标题】通过忽略特定列将 HTML 表数据转换为 jQuery 中的 JSON 对象【英文标题】:Convert a HTML table data into a JSON object in jQuery by ignoring particular column 【发布时间】:2019-09-19 18:16:15 【问题描述】:通过忽略特定列值将 html 值表转换为 JSON 对象以使用 jQuery 进行操作
例如: 我有一张桌子,
fstname lastName Age
john gobby 8
Adams mekander 10
jimmy Rumpel 11
我需要下面提到的 json 结果,
我的代码如下,
$(document).ready(function ()
$("#ConvertJsonButton").click(function ()
var myRows = [];
var headers = [];
$("#tablesort tr#datajson").each(function(index)
if (index === 0)
//for headers
$cells = $(this).find("td.cellClass");
headers[index] = ;
$cells.each(function (cellIndex)
headers[cellIndex] = $(this).text();
);
else
$cells = $(this).find("td.cellClass");
myRows[index] = ;
$cells.each(function (cellIndex)
myRows[index][headers[cellIndex]] = $(this).text();
);
);
var myObj = ;
myObj.myrows = myRows;
alert(JSON.stringify(myObj));
);
);
我想要这个结果:
"john":
"lastName": "gobby",
"Age": "8"
,
"Adams":
"lastName": "Mekander",
"Age": "10"
,
"jimmy":
"lastName": "Rumpel",
"Age": "11"
,
【问题讨论】:
Sooo...你到底想要什么? 简单的方法是创建姓氏和年龄的对象数组,并将数组的每个对象分配给名字 @Manjunath- 你能把代码分享给我吗 您的问题不清楚。您是在尝试忽略特定列,还是实际上是在尝试忽略特定列具有特定值的行? 不,实际上我试图忽略特定列 firstName-@Tibrogargan 【参考方案1】:使用jquery.tabletojson.min.js
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/table-to-json@1.0.0/lib/jquery.tabletojson.min.js" integrity="sha256-H8xrCe0tZFi/C2CgxkmiGksqVaxhW0PFcUKZJZo1yNU=" crossorigin="anonymous"></script>
<script>
$(document).ready(function()
$('#run').click( function()
var table = $('#example-table').tableToJSON();
var data = ;
$.each(table, function(key, value)
var jsonKey = value.firstname;
var map = ;
map = value;
map.firstname = undefined;
data[jsonKey] = map;
);
alert(JSON.stringify(data));
console.log(JSON.stringify(data));
);
);
</script>
</head>
<body>
<table id="example-table" class="table table-striped" border="1">
<thead>
<tr>
<th>firstname</th>
<th>lastname</th>
<th>age</th>
</tr>
</thead>
<tbody>
<tr>
<td>john</td>
<td>goby</td>
<td>8</td>
</tr>
<tr>
<td>Adams</td>
<td>mekander</td>
<td>10</td>
</tr>
<tr>
<td>jimmy</td>
<td>Rumpel</td>
<td>11</td>
</tr>
</tbody>
</table>
<button id="run" class="btn btn-primary">Convert!</button>
</body>
</html>
【讨论】:
var jsonKey = value.firstname; map.firstname = 未定义;你能解释一下这些行吗 @priya 将任何键值设置为undefined
将从对象中删除该键。
谢谢你,苏迪尔。你的代码对我有用......而且我有一个普遍的疑问,我可以在表格中取消定义整个列吗??以上是关于通过忽略特定列将 HTML 表数据转换为 jQuery 中的 JSON 对象的主要内容,如果未能解决你的问题,请参考以下文章
使用 aws dms 仅按特定列将 mongodb 表迁移到 mysql
转换具有 numpy 数组的列将其转换为 dtype 作为对象的 numpy 数组