哪些 JSON 最适合转成 Markdown 表格?
Markdown 表格需要明确的行和列,因此最适合对象数组:每个对象是一行,字段名是列。常见来源包括接口列表、测试数据、功能清单、分页结果和统计项。单个嵌套对象通常更适合格式化阅读,而不适合强行变成一张表。
| JSON 结构 | 处理方式 | 生成后的列 |
|---|---|---|
[{"name":"张三"}] | 每个对象成为一行 | name |
{"data":[...]} | 读取 data 数组 | 从 data 中的对象汇总字段 |
{"user":{"city":"昆明"}} | 展开嵌套对象 | user.city |
{"tags":["a","b"]} | 数组保留为文本 | tags,值为 ["a","b"] |
生成结果对 Markdown 做了哪些保护?
竖线转义
单元格内的 | 会变成 \|,避免被 Markdown 误识别为新的列。
换行保留
文本中的换行会改为 <br>,使一条记录仍保持在同一行中。
字段并集
不同对象拥有不同字段时,工具会汇总全部键;某行缺失的列保留为空。
数组不拆行
数组保持 JSON 文本,而不会盲目复制父行。主从数据需要在文档或数据模型中单独表达。
Markdown 表格和 CSV 应该怎么选?
要把数据展示在 README、Issue、Wiki 或知识库页面时,选择 Markdown;要导入 Excel、数据分析工具或需要进一步计算时,选择 CSV。两个页面都遵循同样的对象数组输入结构,但输出用途不同。
表格会牺牲一部分对象层级。字段很深、数组很大或列数过多时,生成的 Markdown 会难以阅读;此时更适合保留 JSON、写说明文字,或先用 JSONPath 抽取少量字段。
常见问题
- 为什么提示需要对象数组?
- 表格要有多行记录。请输入顶层对象数组,或把列表放在
data数组中。 - 能否指定列顺序和列名?
- 当前按字段首次出现的顺序输出原始键名。若需要面向读者的列名或固定排序,请在复制后于文档中编辑。
- 生成的表格可以直接放在 GitHub 吗?
- 可以。输出遵循常见的管道表格语法;包含竖线和换行的单元格也会做基本转义处理。