DevToolPal
简

JSON 转 Markdown 表格

把 JSON 对象数组转换成对齐的 Markdown 表格,嵌套字段自动展开成列。

本地处理,不上传

选项

输入

0 字符 · 0 B

输出

0 字符 · 0 B

这是什么

接口返回、导出数据和配置常常是 JSON,但放在 README、Pull Request、Wiki 页面或聊天消息里,表格要好读得多。这个工具把 JSON 对象数组转换成 GitHub Flavored Markdown 表格,在 GitHub、GitLab、Notion、Obsidian 和大多数文档站点上都能正常渲染。

每个对象一行,每个键一列。嵌套对象展开成带点的列名,值里的竖线和换行会被转义,各列会补齐空格,让原始 Markdown 也对得整齐。

怎么用

  1. 粘贴 JSON,上传 .json 文件,或点 示例。
  2. 选择 对齐方式:默认、左对齐、居中、右对齐,或 数字右对齐(只含数字的列右对齐)。
  3. 保持 展开嵌套对象 开启,把嵌套字段展开成多列;关闭则以 JSON 显示。
  4. 如果想要不补空格的紧凑行,关闭 列宽对齐。
  5. 复制表格或下载成 .md 文件。

如果 JSON 不合法,错误提示会给出行号和列号,方便快速修正。

示例

下面这段 JSON:

[
  { "name": "ripgrep", "stars": 48000, "repo": { "owner": "BurntSushi" } },
  { "name": "fd", "stars": 34000, "repo": { "owner": "sharkdp" }, "tags": ["find"] }
]

会变成这个 Markdown 表格:

| name    | stars | repo.owner | tags     |
| ------- | ----- | ---------- | -------- |
| ripgrep | 48000 | BurntSushi |          |
| fd      | 34000 | sharkdp    | ["find"] |

嵌套的 repo 对象变成 repo.owner 列,tags 数组写成 JSON,第一行没有 tags,所以对应的单元格为空。

小提示

  • 值都按文本输出:数字和布尔值原样显示,null 变成空单元格。
  • 很宽的表格不好读,转换前可以先删掉不需要的字段。
  • 字符串值里的行内 Markdown,例如 **粗体** 或链接,会原样保留,大多数查看器都会渲染。
  • 处理 CSV 数据或生成 HTML 表格,可以用下面的相关工具。

常见问题

› 支持哪些 JSON 结构?

对象数组:每个对象一行,任何对象里出现过的键都成为一列。单个对象:生成「Key / Value」两列表格。数组的数组:按行输出,列名为编号。普通值的数组:只有一列 Value。

› 嵌套对象怎么处理?

开启「展开嵌套对象」时,嵌套字段会变成带点的列名,例如 address.city。数组在单元格里写成紧凑的 JSON。关闭展开后,每个嵌套对象以 JSON 形式放在一个单元格里。

› 对象的键不一样怎么办?

表头是所有键的并集,按第一次出现的顺序排列。某个对象没有这个键时单元格留空,null 值也显示为空单元格。

› JSON 会上传吗?

不会。解析和转换都在浏览器里完成,接口返回和私有数据不会离开你的设备。