You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 2中如何将HTML表格转换为JSON数组?求解决方案

解决HTML表格转指定JSON格式的问题

没问题,我来帮你搞定这个HTML表格转JSON的需求!这里用原生JavaScript就能轻松实现,还能处理你提到的首字母大写细节,直接看代码:

// 获取页面中的表格元素
const table = document.querySelector('table');
// 提取表头文本作为JSON对象的键
const headers = Array.from(table.querySelectorAll('th')).map(th => th.textContent.trim());
// 遍历表格行生成目标数据数组
const result = Array.from(table.querySelectorAll('tbody tr')).map(row => {
  const cells = Array.from(row.querySelectorAll('td')).map(cell => cell.textContent.trim());
  // 构建每个数据对象,同时处理首字母大写
  return headers.reduce((obj, header, index) => {
    const rawValue = cells[index];
    // 把单元格内容首字母转大写(比如'foo'→'Foo')
    const formattedValue = rawValue.charAt(0).toUpperCase() + rawValue.slice(1);
    obj[header] = formattedValue;
    return obj;
  }, {});
});
// 转成标准JSON字符串(按需使用)
const jsonOutput = JSON.stringify(result);
console.log(jsonOutput);

执行这段代码后,输出的结果完全符合你的期望:

[{"Name":"Foo","Age":"20"},{"Name":"Boo","Age":"24"}]

简单解释下代码逻辑

  1. 先获取表格和表头元素,把表头文本提取出来作为每个JSON对象的键
  2. 遍历表格的每一行数据,把单元格内容对应到表头的键上
  3. 特意加了首字母大写的处理,让第一个名字从foo变成Foo,匹配你想要的格式
  4. 最后用JSON.stringify()把数组转成标准JSON字符串,方便后续使用

如果是在Node.js后端环境处理(比如读取HTML文件),可以用cheerio库模拟DOM操作,思路和上面完全一致——解析HTML后提取表头和行数据,再生成目标JSON。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:03:42