You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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);

代码说明

  • querySelectorquerySelectorAll用来精准定位DOM元素,完全匹配你HTML里的类名结构
  • textContent.trim()用来去除文本前后的空格,让最终的数据更干净规范
  • 遍历每行时,我们把每个字段的数据放进一个对象再推到数组里,这样最终的数组结构清晰,JSON.stringify()能直接把整个数组转成标准的JSON格式

如果你的表格有更多行,这段代码也能自动处理所有行,最后生成的JSON会是一个包含多个对象的数组,比如:

[{"firstName":"Albert","myColor":"red","telephone":"1111"},...]

内容的提问来源于stack exchange,提问作者ThgMixer

火山引擎 最新活动