JS新手求助:如何用JSON.stringify将表格所有节点转为单个JSON数组?
解决表格数据转JSON的问题
嘿,刚学JavaScript遇到这种小障碍太正常了!我来一步步教你怎么把表格里的所有节点数据转成数组再生成JSON~
核心思路
我们需要先获取表格里的每一行,然后逐个提取每行里的姓名、颜色、电话数据,把它们整理成对象,最后把所有对象放进数组,用JSON.stringify()转成JSON就行。
完整代码实现
// 1. 获取目标表格元素 const targetTable = document.querySelector('.texte'); // 2. 获取表格tbody下的所有行 const tableRows = targetTable.querySelectorAll('tbody tr'); // 3. 创建数组存储所有行的数据 const tableDataArray = []; // 4. 遍历每一行,提取数据 tableRows.forEach(row => { // 提取姓名(注意是a标签里的文本) const firstName = row.querySelector('.fistName a').textContent.trim(); // 提取颜色(span标签里的文本) const myColor = row.querySelector('.myColor .bt.bu').textContent.trim(); // 提取电话(span标签里的文本) const telephone = row.querySelector('.telephone .bt.bu').textContent.trim(); // 把当前行的数据包装成对象,加入数组 tableDataArray.push({ firstName, myColor, telephone }); }); // 5. 把数组转成JSON字符串 const finalJson = JSON.stringify(tableDataArray); // 可以打印看看结果 console.log(finalJson);
代码说明
querySelector和querySelectorAll用来精准定位DOM元素,完全匹配你HTML里的类名结构textContent.trim()用来去除文本前后的空格,让最终的数据更干净规范- 遍历每行时,我们把每个字段的数据放进一个对象再推到数组里,这样最终的数组结构清晰,
JSON.stringify()能直接把整个数组转成标准的JSON格式
如果你的表格有更多行,这段代码也能自动处理所有行,最后生成的JSON会是一个包含多个对象的数组,比如:
[{"firstName":"Albert","myColor":"red","telephone":"1111"},...]
内容的提问来源于stack exchange,提问作者ThgMixer




