HTML转JSON在线转换
从保存的网页中提取表格,转换成代码可以直接遍历的JSON。表头单元格决定键名,表格的每一行都会成为数组中的一个对象。
数据转换器
或将CSV, TSV, TXT … 文件拖放到此处 ·
单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除
文件在我们的服务器上处理,并在 30 分钟后删除。
CSV 和文本文件中分隔列的字符,读取和写入都适用。自动会从输入中检测,并以逗号写出。
UTF-8 适用于所有语言。如果 Windows 上的 Excel 打开 CSV 时重音字符或中日韩文字显示乱码,请选择带 BOM 的 UTF-8。
输入为 Excel、ODS 和 Numbers 时:只转换第一个工作表,或转换所有工作表(ZIP 中每个工作表一个 CSV,或 JSON 中每个工作表一个键)。
新电子表格中工作表标签的名称,最多 31 个字符。
对象数组会为每一行使用列名作为键;数组的数组更紧凑,并把表头作为第一个数组。
包裹所有行的外层元素名称;每一行会成为其中的一个 <row>。
用于 CREATE TABLE 和 INSERT 语句。只能使用字母、数字和下划线。
不同数据库的引号和列类型略有差异;请选择您要导入的数据库。
把日期单元格统一改写为一种格式。ISO (2026-10-18) 对数据库和代码最稳妥;保持原样则保留源文件中的显示方式。
使用方法
- 1
保存网页或表格
在浏览器中按 Ctrl+S(Mac 上按 Cmd+S)保存 HTML 文件,或者从开发者工具中复制表格的标记代码,存成 .html 文件。最多可上传 20 个文件,每个不超过 95 MB。
- 2
选择JSON结构
已默认选择对象数组。在高级设置下,可将 JSON 结构切换为数组的数组,得到更紧凑的文件;关闭格式化输出则得到单行内容。
- 3
转换并使用数据
点击转换为 JSON,下载文件,然后在 JavaScript 中用
JSON.parse、在 Python 中用json.load或在任意 API 客户端中加载。
保存网页,上传 .html 文件,表格的每一行就会变成以表头单元格为键的 JSON 对象。
什么时候需要把网页表格转成JSON
很多有用的数据只以 HTML 表格的形式存在:汇率页面、体育联赛积分榜、内网生成却不让下载的报表、列出所有服务器的状态页。浏览器能很好地显示它们,但要做图表的前端开发者,或需要测试数据的测试人员,想要的是对象数组。
常见的做法是写爬虫:抓取页面,用 Beautiful Soup 或 Cheerio 解析,遍历各行,再映射单元格。页面每天都在变化时,这样做是值得的。如果只是一次性用到的表格,上传已保存的页面更快,也不需要维护任何东西。
HTML表格转JSON示例
<table>
<tr><th>City</th><th>Founded</th></tr>
<tr><td>Porto</td><td>1123</td></tr>
<tr><td>Graz</td><td>1128</td></tr>
</table>
[
{ "City": "Porto", "Founded": 1123 },
{ "City": "Graz", "Founded": 1128 }
]转换会保留和丢弃哪些内容
- 保留:单元格文本、作为键的表头行以及行的顺序
- 舍弃:CSS、行内样式、类名以及表格之外的页面内容
- 舍弃:单元格中的图片和图标,它们没有文本值
- 链接单元格保留可见文字,不保留背后的网址
- 单元格首尾的空格会被去除首尾空格去掉
- 输出为 UTF-8 编码,这是 RFC 8259 对系统间交换的 JSON 的要求
HTML转JSON的限制
- 支持已保存的网页
- .html .htm
- 每批页面数
- 20
- 每个上传文件
- 95 MB
- 之后文件会被删除
- 30 分钟
HTML与JSON对比
HTML
超文本标记语言
HTML 是网页的标记语言,由 Tim Berners-Lee 在 20 世纪 90 年代初提出,现由 WHATWG 作为活标准维护。HTML 文件描述标题、段落、链接、表格、图片和表单,样式通常由 CSS 提供。所有浏览器都能渲染它,它也用于邮件模板和保存的网页。单个 HTML 文件往往依赖外部图片和样式表,单独移动后可能显示异常。
- 压缩方式
- –
- 透明度
- –
- 动画
- –
- 发布年份
- 1993 · Tim Berners-Lee; maintained by WHATWG
JSON
JavaScript 对象表示法
JSON 是一种轻量级结构化数据文本格式,由 Douglas Crockford 在 21 世纪初推广,并被标准化为 RFC 8259 和 ECMA-404。它用简单易读的语法表示对象、数组、字符串、数字、布尔值和 null。它是网络 API、配置文件以及几乎所有编程语言之间数据交换的默认格式。它没有内置注释、日期或模式,嵌套很深的大文件没有查看器就很难阅读。
- 压缩方式
- –
- 透明度
- –
- 动画
- –
- 发布年份
- 2001 · Douglas Crockford
报表页面、内网或公开统计网站上,原本为人阅读而发布的表格,需要交给脚本、图表库或 API 测试使用时,就需要把 HTML 转成 JSON。
这两种格式源自不同的传统。HTML 由 Tim Berners-Lee 于 1991 年首次描述,现由 WHATWG 作为活标准维护,用来标记文档以便显示。JSON 由 Douglas Crockford 提出,并被标准化为 RFC 8259 和 ECMA-404,只承载数据。从前者转到后者,主要就是丢掉呈现相关的内容,所以结果通常比保存的网页小得多。如果表格来自 XML 数据源而不是网页,可以用 XML 转 JSON 完成对应的转换。
HTML转JSON常见问题
转换器会读取整个网页还是只读取表格?
只转换表格标记:table、tr、th 和 td 元素中的行与单元格。导航菜单、段落以及用 div 元素搭建的卡片布局不属于表格数据,不会被转成 JSON。
JSON的键名取自哪一行?
表头行,通常是表格顶部的 th 单元格。开启首行为表头后,表头文字会成为下方每个值的键,因此表头为 Population 的那一列,会在每个对象中生成 "Population": "…"。
合并单元格(colspan和rowspan)如何处理?
合并单元格占据多个网格位置,但只有一个值。这个值只会出现在第一个位置,所以转换后请检查跨列的部分;如果表格依赖合并表头,请在代码中补全空缺。
为什么JSON里的数字带有逗号或脚注标记?
网页表格是写给读者看的,单元格里可能是 1,204,000 或 8.3[2]。像 1123 这样的纯数字会变成 JSON 数字,而上述单元格不是有效数字,会保留为字符串;做运算之前,请先在代码中去掉分隔符和脚注标记。
从网站抓取表格是否允许?
这取决于网站的使用条款和数据本身,与文件格式无关。公开统计数据和你自己导出的报表通常没有问题;复用他人内容之前,请先查看相关条款。
能否导出为电子表格而不是JSON?
可以。HTML 转 CSV 会把同一个表格写成逗号分隔的行,可在 Excel、Google Sheets 或 Numbers 中打开。