JSON转Markdown核心是数据结构映射为语法元素,可用json2md库快速实现,或手动编写轻量函数处理固定结构,嵌套数据需递归+表格逻辑,在线工具辅助验证。

JavaScript 中把 JSON 转成 Markdown,核心是把数据结构映射为 Markdown 语法元素——比如对象键名决定标题层级,数组转为列表,嵌套对象递归处理。不需要复杂框架,几行代码就能搞定,关键在逻辑清晰、适配实际数据形态。
用 json2md 库快速转换
这是最省心的方案,专为 JSON → Markdown 设计,支持 h1–h6、p、ul、ol、table、img 等常见元素。
- 安装:
npm install json2md - 基础用法:
const json2md = require('json2md');
const md = json2md([
{ h1: '用户信息' },
{ p: '以下是系统导出的用户数据' },
{ ul: ['张三', '李四', '王五'] }
]);
console.log(md);
输出就是标准 Markdown:
# 用户信息
以下是系统导出的用户数据
- 张三
- 李四
- 王五
立即学习“Java免费学习笔记(深入)”;
输入文章 URL,返回干净 Markdown。支持17个平台(头条、微信公众号、知乎、36kr、虎嗅、华尔街见闻、澎湃、InfoQ 等)专项优化,双引擎提取、图片本地化、三层抓取策略。常与 browser‑web‑search skill配合:先用 bws 搜索获取 url 列表,再逐篇调用本 skill 提取正文。
手动写一个轻量转换函数
适合结构固定或需精细控制的场景,比如把 API 返回的 user 对象转成文档页。
- 只处理常见类型:string、array、object(不递归太深)
- 约定 key 名语义:如 title → #,content → 段落,items → 列表
- 示例片段:
function jsonToMd(obj) {
if (Array.isArray(obj)) return obj.map(i => `- ${i}`).join('\n');
if (typeof obj === 'object' && obj !== null) {
return Object.entries(obj)
.map(([k, v]) => {
if (k === 'title') return `# ${v}`;
if (k === 'items') return jsonToMd(v);
return `${v}`;
})
.join('\n\n');
}
return String(obj);
}
处理嵌套和表格数据
真实 JSON 常含多层嵌套或数组对象(如用户列表),这时需递归 + 表格生成逻辑。
- 遇到数组且子项是对象时,优先转为 Markdown 表格
- 表头取第一个对象的 key,每行数据按顺序填值
- 注意转义特殊字符(如
|、\),避免破坏表格格式
例如:
[{ name: 'Alice', age: 28 }, { name: 'Bob', age: 32 }]
→ 自动转成:
| name | age |
|-------|-----|
| Alice | 28 |
| Bob | 32 |
在线工具辅助验证和调试
开发阶段可先用在线工具快速预览效果,避免反复跑代码。
- 推荐 formatter.org / json2md.net —— 粘贴 JSON 即实时渲染 Markdown 预览
- 适合检查缩进、空值处理、中文标点兼容性等细节
- 确认结构合理后再写入项目,减少试错成本

















