CodeKitHub
JSON 工具

HTML 表格转 JSON/CSV 转换器

最后更新:

将 HTML 表格转换为 JSON 时,标题行的单元格会成为对象的键,后面每个 <tr> 会成为一个对象——反向转换则会根据同样的结构生成包含 <thead>/<tbody> 的表格。粘贴 HTML 表格代码,即时得到 JSON 对象数组或 CSV 文件;也可以粘贴 JSON/CSV,得到干净的 HTML 表格代码——转换过程完全使用浏览器内置的 DOMParser 在本地完成,数据不会被上传到任何地方。


工具介绍

网页经常把数据放在 HTML 的 <table> 元素里——价格页面、统计页面、抓取下来的列表——但这种代码不能直接在代码里或表格软件中使用。这个工具会解析粘贴的 <table> 代码,读取标题行(来自 <thead>/<th>,如果没有 <thead> 就用第一行 <tr>),把后面每一行的单元格对应到这些标题上,输出 JSON 对象数组或 CSV 文件。

它也支持反向操作:粘贴一个 JSON 对象数组或 CSV 文本,工具会生成结构规范的 HTML 表格,包含存放列标题的 <thead> 和存放数据行的 <tbody>,可以直接粘贴到网页或 CMS 里。

全程使用浏览器内置的 DOMParser 完成——不会有任何 HTML 被发送到服务器,因此可以放心处理包含内部或敏感数据的粘贴内容。

来源:表格结构遵循 WHATWG HTML Living Standard 中 table 元素的定义

为什么使用它?

  • 双向转换——HTML 表格转 JSON、HTML 表格转 CSV,以及 JSON/CSV 反向转换成干净的 HTML 表格代码。
  • 自动识别标题行——支持 <thead>/<th> 标记,也支持没有 <thead> 时把第一行当标题行。
  • 不需要先粘贴到表格软件里——直接从表格代码转换成结构化数据。
  • 生成的 HTML 输出经过正确转义,数据里的 < 和 & 等特殊字符不会破坏表格结构。
  • 100% 本地运行——你粘贴的 HTML(可能来自内部页面或后台管理系统)不会离开浏览器。

使用方法

  1. 转换 HTML 表格:把 <table>...</table> 代码粘贴到第一个输入框,点击"转换为 JSON"或"转换为 CSV"。
  2. 查看输出结果,复制它或点击下载链接保存文件。
  3. 生成 HTML 表格:把 JSON 数组或 CSV 文本粘贴到第二个输入框。
  4. 点击"转换为 HTML 表格",把生成的代码复制到你的页面或 CMS 里。

示例

输入

<table><tr><th>name</th><th>age</th></tr><tr><td>Alice</td><td>30</td></tr></table>

输出

[{"name":"Alice","age":"30"}]

表格第一行的单元格成为对象的键名,后面每一行成为数组中的一个元素,值统一按文本读取。

实用建议

  • 从网页中的表格提取数据:查看页面源代码或检查元素,复制 <table>...</table> 代码粘贴到这里,不用手动重新录入数据。
  • 把 API 返回发布成网站或 CMS 上可读的表格:把 JSON 数组粘贴到第二个输入框,把生成的 HTML 直接复制到页面的富文本或 HTML 模块里。
  • 如果表格是用 <div> 或 CSS 网格布局做的而不是真正的 <table> 标签,这个工具无法解析——源页面需要使用真实的 HTML 表格标签。

为什么标题行识别很重要

一个没有明确标题行的表格是有歧义的——下游的任何工具都需要先知道哪一行定义了列名,才能把剩下的行转换成结构化记录。这个工具用浏览器和大多数抓取工具通用的方式解决这个歧义:先查找显式的 <thead> 部分,只有在没有 <thead> 时才退回到把第一个可见行当作标题行。这让转换结果对手写或抓取来的、跳过了语义化标签的表格代码也保持可预测。

常见问题

没有 <thead> 的表格也能处理吗?

可以。如果没有 <thead>,工具会把表格里的第一个 <tr> 当作标题行。

某一行的单元格比标题行少怎么办?

缺失的单元格在 JSON 输出里会是空字符串,在 CSV 里会留空,行结构不会被破坏,也不会报错。

单元格里嵌套的标签(比如 <b> 或 <a>)会保留吗?

不会——只提取每个单元格的可见文本内容。行内格式、链接以及其他嵌套标记都会被去掉,只保留纯文本。

粘贴的 HTML 会被发送到别处吗?

不会。解析完全通过浏览器内置的 DOMParser 在本地完成,不会上传到服务器。

可以把 JSON 数组通过这个工具再转回 HTML 表格吗?

可以——把 JSON 数组(或 CSV)粘贴到第二个输入框,点击"转换为 HTML 表格",就能得到有效、正确转义的 <table> 代码,键名会成为列标题。

相关工具