Python Json转Markdown:把乱麻般的配置秒变清爽文档——再也不用手敲格式

关键词:json转markdown自动生成文档脚本工具数据可视化零配置


故事开场:瑞士军刀救了我周五的晚上

周五 18:00,你正准备关机,老板甩来一个 200 行的 config.json:“下班前把这份配置整理成文档发我。”
你打开文件,瞬间眼花:嵌套的对象、数组、布尔值混成一团。手敲 Markdown?估计得加班到半夜。

这时,你把今天刚拿到的小脚本 script.py 往命令行一扔——

python script.py -i config.json -o config.md

3 秒后,config.md 静静躺在桌面:标题、缩进、代码块全排好,老板直夸“专业”。
这把“瑞士军刀”从此常驻你的工具箱。


代码解析 1:读文件——先把 JSON 变成 Python 能懂的话

通俗解释
就像把一封英文信先翻译成中文再读,这一步让 Python 能“听懂” JSON 的内容。

关键代码

def load_json(file):
    try:
        with open(file, 'r') as f:
            data = f.read()
        return json.loads(data)  # 把 JSON 字符串变成 Python 字典或列表
    except:
        print("[ERROR] 文件必须是合法的 json")

代码解析 2:拆积木——递归拆解每一层

通俗解释
JSON 像俄罗斯套娃,大盒子里还有小盒子。脚本一层层拆开,遇到盒子(对象/数组)就继续拆,遇到糖果(字符串/数字)就贴标签。

关键代码

def parse_json(json_block, depth, options):
    if isinstance(json_block, dict):
        parse_dict(json_block, depth, options)
    if isinstance(json_block, list):
        parse_list(json_block, depth, options)

代码解析 3:贴标签——把键值对变成 Markdown

通俗解释
拆到最后,给每个“糖果”写上名字和味道:age: 18。脚本自动在前面加 - 和反引号,让 Markdown 格式一步到位。

关键代码

def add_value(key, value, depth):
    chain = tab * (bool(depth - 1)) + list_tag + \
            str(key) + ": " + inline_code + str(value) + inline_code + "\n"
    global markdown
    markdown += chain

代码解析 4:写文件——把结果存成 .md

通俗解释
就像把整理好的笔记放进文件夹,这一步把生成的 Markdown 字符串一次性写进指定文件,完事收工。

关键代码

def write_out(markdown, output_file):
    with open(output_file, 'w+') as f:
        f.write(markdown)

如果还想更厉害:两个 5 分钟扩展点子

1. 批量处理整个文件夹

给脚本加一个 -b 参数,让它一次吃下一整碗 JSON。

# 在 main() 里加几行
import glob
if args.batch:
    for json_path in glob.glob('*.json'):
        convert(json_path, json_path[:-4] + 'md', options)

2. 30 秒套个图形界面

tkinter 做一个小窗口,拖文件就能转。

import tkinter as tk
from tkinter import filedialog

root = tk.Tk()
root.withdraw()  # 只弹出文件选择框
input_path = filedialog.askopenfilename(title="选 JSON")
convert(input_path, input_path[:-4] + 'md', {'ignore': '', 'keep': ''})

总结

你刚体验了一把“零门槛”自动化:把任何 JSON 文件扔给脚本,3 秒就能收获排版漂亮的 Markdown。它不需要安装额外库,只用系统自带 Python;加上两条简单扩展,还能批量、还能点点鼠标。下次再有人甩来配置,你就笑眯眯地双击脚本——下班前就能回家追番。

源码获取

完整代码已开源,包含详细的注释文档:
🔗 [GitCode仓库] https://gitcode.com/laonong-1024/python-automation-scripts
📥 [备用下载] https://pan.quark.cn/s/654cf649e5a6 提取码:f5VG

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐