简介
json-to-markdown-table
是一个 npm 包,用于将 JSON 对象转换成 Markdown 表格。在前端开发中,经常需要将数据以表格的形式展示出来,而使用 Markdown 写表格可以方便易读,也更加优雅。json-to-markdown-table
可以帮助我们实现这个目标。
安装和使用
使用 npm
安装 json-to-markdown-table
:
npm install json-to-markdown-table
然后在你的 JS 文件中引入它:
const jsonToMarkdownTable = require('json-to-markdown-table');
接下来,我们可以传入一个符合规范的 JSON 对象,即可生成 Markdown 表格:
-- -------------------- ---- ------- ----- ---- - - - ----- -------- ---- --- ----- --------- -- - ----- ------ ---- --- ----- ---------- -- - ----- ---------- ---- --- ----- ----------- -- -- ----- ------------- - -------------------------- ---------------------------
输出结果如下所示:
| name | age | city | | -------- | --- | --------- | | Alice | 20 | Beijing | | Bob | 21 | Shanghai | | Charlie | 22 | Guangzhou |
API
jsonToMarkdownTable(data: Array<Object>, options?: TableOptions): string
将 JSON 对象转化成 Markdown 表格。
data
:一个对象数组。每个对象表示一行数据,键名作为表格的表头,对应的值作为表格的单元格。options
:可选的配置对象,用于设置表格的格式。
以下是 TableOptions
的定义:
interface TableOptions { align?: 'left' | 'right' | 'center'; // 表格内容的对齐方式,默认为左对齐 delimiter?: string; // 表格分隔符,即 "|" 符号。默认为 " | " }
示例
我们可以使用 json-to-markdown-table
来生成各种复杂的表格,例如:
带有表头和底部的表格
-- -------------------- ---- ------- ----- ---- - - - ----- -------- ---- --- ----- --------- -- - ----- ------ ---- --- ----- ---------- -- - ----- ---------- ---- --- ----- ----------- -- -- ----- ------- - - ------ --------- ---------- - - -- -- ----- ------ - -- ---- - --- - ---- --- ----- ------ - -- ----- - - - --- ----- ------------- - --------------------------------------- ---------------------- ---------------------------
输出结果如下所示:
| Name | Age | City | | :-----: | --: | :-------: | | Alice | 20 | Beijing | | Bob | 21 | Shanghai | | Charlie | 22 | Guangzhou | | Total | 3 | |
带有链接和图片的表格
-- -------------------- ---- ------- ----- ---- - - - ----- -------- ---- --- ----- ---------- ------- ----------------------------------------- --------- ---- -------------------------------------- -- - ----- ------ ---- --- ----- ----------- ------- ----------------------------------------- --------- ---- ------------------------------------ -- -- ----- ------------- - -------------------------- ---------------------------
输出结果如下所示:
| name | age | city | avatar | homepage | | ----- | --: | ---------| -------------------------| ------------------------| | Alice | 20 | Beijing | ![](https://via.placeholder.com/50x50) | [My Homepage](https://example.com/alice) | | Bob | 21 | Shanghai | ![](https > 来源:[JavaScript中文网](https://www.javascriptcn.com/post/46202) ,转载请注明来源 [https://www.javascriptcn.com/post/46202](https://www.javascriptcn.com/post/46202)