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"}]
简单解释下代码逻辑
- 先获取表格和表头元素,把表头文本提取出来作为每个JSON对象的键
- 遍历表格的每一行数据,把单元格内容对应到表头的键上
- 特意加了首字母大写的处理,让第一个名字从
foo变成Foo,匹配你想要的格式 - 最后用
JSON.stringify()把数组转成标准JSON字符串,方便后续使用
如果是在Node.js后端环境处理(比如读取HTML文件),可以用cheerio库模拟DOM操作,思路和上面完全一致——解析HTML后提取表头和行数据,再生成目标JSON。
内容的提问来源于stack exchange,提问作者Esco
相关产品推荐
相关产品推荐

