跳到主内容
UniKit

HTML 表格转 JSON

粘贴网页表格的 HTML 或从 Excel/网页复制的表格文本,自动展开 colspan/rowspan 合并单元格,输出 JSON 数组、CSV 或 Markdown 表格。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

首行作为表头关闭后字段名会变成 column1、column2…

被 colspan/rowspan 覆盖的单元格会复制同一份文本,保证每行等长

转换结果

这个工具能做什么

  • 把网页上的表格源码(右键查看元素复制出来的 `<table>`)转成 JSON 数组,喂给前端 mock 或测试用例。
  • 从 Excel / 表格软件复制的一列数据,粘进来直接输出 JSON、CSV 或 Markdown 三种格式。
  • 写文档时把表格转成 Markdown,省掉一行行手动加竖线和对齐行。
  • 表格里有 colspan / rowspan 时也不用管:被合并覆盖的格子会复制同一份文本,保证每行等长。

示例

输入

<table><tr><th>名称</th><th>数量</th><th>备注</th></tr><tr><td>螺丝</td><td>120</td><td>M4 × 8</td></tr><tr><td>螺母</td><td>80</td><td>&nbsp;</td></tr></table>

输出

[
  {
    "名称": "螺丝",
    "数量": "120",
    "备注": "M4 × 8"
  },
  {
    "名称": "螺母",
    "数量": "80",
    "备注": ""
  }
]

所有单元格都是字符串,数字不会被转成 number,避免订单号这类前导零丢失。&nbsp; 会先解码成不换行空格再被 trim 掉,所以第二行的备注是空字符串。

常见问题

表格文本(不是 HTML)怎么识别分隔符?

优先看制表符:只要行里有 \t 就按制表符切分,这是从 Excel 复制的格式。没有制表符时按两个及以上连续空格切分;如果第一行含竖线、第二行是 |---| 形式,则按 Markdown 表格处理并自动跳过对齐行。

数字会变成 JSON 里的 number 吗?

不会,所有值都是字符串。"120" 保持 "120","007" 也不会变成 7,这对手机号、订单号、邮编这类字段很重要。需要数字时在消费端自己转换即可。

字段名重复或为空怎么办?

空表头会补成 column1、column2…,重复表头会加后缀变成 name、name_2,保证每个对象里的键唯一。关掉「首行作为表头」后,全部字段都变成 column1、column2…。

为什么提示「HTML 无法解析」?

出现 HTML 标签但缺少 `<table>` 或 `</table>`、标签属性引号没有闭合时都会报错。工具只解析第一个完整的 `<table>`,嵌套在里面的子表格会被跳过,避免把内表当成外表。

输入的内容会上传吗?

不会。工具自带一个轻量 HTML tokenizer,解析和转换都在浏览器里完成,没有网络请求,也不访问你粘贴的页面。

关键词:tablehtml tablejsoncsvmarkdown表格转换colspanrowspan合并单元格exceltable to json

同类工具