开源工具json2md可将JSON转为人类可读的GitHub风格Markdown,减少LLM调用token消耗约15-20%,同时提升可维护性。
将一个 JSON 文档转换为确定性的、人可阅读的 GitHub Flavored Markdown。
可在浏览器、Node、Go 和命令行中运行。
输出是一个可读的投影,而非可逆的序列化格式。每个文档以 # Results 作为标题开头(可通过 heading 选项替换或省略),值保持裸漏除非 showTypes: true 开启类型注解——42 *(integer)*——并使用规范间距:LF 结尾、块之间一个空行、无尾随空格、最后有一个换行符。
如果你把 JSON 喂给 LLM,你需要为它的标点符号付费。每一个 `{'、'}'、'"'、':' 和 ',' 都是消耗在模型本不需要读取的结构上的 token。将同一份文档转换为 Markdown 标题和列表,可衡量地更便宜,且模型更容易遵循:
更少的 token。 用 tiktoken 对一份真实文档的测量显示,JSON 格式为 13,869 个 token,而 Markdown 为 11,612 个——大约减少了 16%。来自社区的报告指出,JSON 税从 15–20% 到 2 倍不等,取决于数据的嵌套程度和引号密度。
原生格式。 Markdown 是 LLM 训练语料的通用语言,因此往往能高效地 tokenize,且模型对其结构的解析可靠。
循环中可读。 提示词、Agent 记忆日志和 RAG 上下文,作为 Markdown 比作为转义后的 JSON 更易于阅读、对比和手动编辑——而且 Markdown 块拼接整洁,字符串化的 JSON 则不然。
更适应上下文窗口。 在 IDE 助手和 Agent 循环中,上下文的裁剪非常激进,token 密集的 JSON 是实实在在的风险;更精简的投影能为实际任务留出更多空间。
rajnandan1 / json-to-md
JSON to Markdown conversion that runs byte-identical in the browser, Node, Go, and CLI
将一个 JSON 文档转换为确定性的、人可阅读的 GitHub Flavored Markdown。
同一套转换可在浏览器、Node、Go 和命令行中运行。TypeScript 和 Go 实现产生字节级一致的输出,由共享的 corpus/ 和 CI 中的跨实现模糊测试门禁强制执行。输出是一个可读的投影,而非可逆的序列化格式。每个文档以 # Results 作为标题开头(可通过 heading 选项替换或省略),值保持裸漏除非 showTypes: true 开启类型注解——42 *(integer)*——并使用规范间距:LF 结尾、块之间一个空行、无尾随空格、最后有一个换行符。
如果你把 JSON 喂给 LLM,你需要为它的标点符号付费。每一个 `{'、'}'、'"'、':' 和 ',' 都是消耗在模型本不需要读取的结构上的 token。将同一份文档转换为…