VBA-JSON 快速上手指南:一份 .bas 文件搞定 Excel 里的 JSON 解析与生成 VBA-JSON 快速上手指南一份 .bas 文件搞定 Excel 里的 JSON 解析与生成【免费下载链接】VBA-JSONJSON conversion and parsing for VBA项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON结论先行VBA-JSON 解决什么问题VBA-JSON 是一个面向 VBA 的免费开源 JSON 解析库让 Excel、Access 等 Office 应用能够直接解析与生成 JSON。整个库只有JsonConverter.bas一个文件约 1100 行导入即用Windows 与 Mac 通用——在没有原生 JSON 组件的 VBA 环境里它是成本最低的解法。能力地图VBA JSON 解析用在哪类业务场景说明 拉接口数据填表调用订单、物流、库存接口把返回的 JSON 自动写入工作表区域️ 用 JSON 文件存取配置把用户自定义选项存成 .json 文件避免在 Access 里预留几十个字段 向 Web 端输出数据把表格内容转成 JSON 字符串交给 Web 应用或第三方接口消费三个场景的共同难点JSON 结构往往不受控而 VBA 本身没有内置字典类型所有取值都要放进手动引用的容器里。环境搭建JsonConverter.bas 用法与平台差异先获取源码仓库git clone https://gitcode.com/gh_mirrors/vb/VBA-JSON然后打开 VBA 编辑器AltF11在工程窗口右键工程 → 导入文件选择仓库根目录的JsonConverter.bas。导入后补一项平台依赖平台需要准备的依赖Windows工具 → 引用中勾选Microsoft Scripting RuntimeMac引入 VBA-Dictionary 项目的Dictionary.cls这一步的原因ParseJson的返回值底层就是Dictionary对象与Collection数组没有字典类解析结果无处安放。配置完成后编译一次无报错即环境就绪。API 速查ParseJson 与 ConvertToJson 完整闭环API输入返回说明JsonConverter.ParseJsonJSON 字符串Object对象→Dictionary数组→Collection下标从 1 开始JsonConverter.ConvertToJsonObject可选Whitespace:nJSON 字符串指定Whitespace时输出缩进 n 空格的多行格式下面是一段可直接在模块里运行的闭环示例订单场景 解析订单快照对象变 Dictionary数组变 Collection Dim order As Object Set order JsonConverter.ParseJson({order_id:1024,qty:[2,5,1],warehouse:{city:Suzhou}}) Debug.Print order(order_id) 1024 Debug.Print order(qty)(2) 5数组下标从 1 开始 Debug.Print order(warehouse)(city) Suzhou嵌套对象取值 order(warehouse)(zone) B3 补一个字段 Debug.Print JsonConverter.ConvertToJson(order) 紧凑单行便于传接口 Debug.Print JsonConverter.ConvertToJson(order, Whitespace:2) 缩进 2 格便于人读后两行输出同一份数据的两种形态紧凑版适合传给接口缩进版适合肉眼核对结构。三个反直觉细节1. 错误码 10001 怎么排查ParseJson遇到非法输入会抛错误码10001提示Expecting { or [——解析器期望 JSON 以对象或数组开头。排查顺序开头是否有多余逗号、引号是否缺失、是否混入全角字符或首个有效字符确实不是{/[。2. 15 位数字为什么会丢精度VBA 的Double只能可靠保存15 位有效数字。订单号、卡号这类超过 15 位的纯数字若按数字解析尾数会被静默改写如123456789012345678→123456789012345670。VBA-JSON 的默认策略是长度超过 15 位的纯数字一律按字符串返回避免精度丢失 19 位订单号默认以 String 返回不会变成被四舍五入的 Double Dim r As Object Set r JsonConverter.ParseJson({order_no:2026082617000012345}) Debug.Print TypeName(r(order_no)) 输出 String确需数字类型时再显式打开对应开关见下节。3. JsonOptions 三个开关的默认值各是什么意图开关位于JsonConverter.JsonOptions默认设计意图UseDoubleForLargeNumbersFalse大数字按Double存会丢精度字符串更安全AllowUnquotedKeysFalse标准 JSON 要求键必须带引号关闭即严格合规EscapeSolidusFalse/本可不转义仅在输出需\/时置True一行JsonConverter.JsonOptions.EscapeSolidus True即可生效。记住默认值本身是设计过的这一点比背下所有签名更有用。验证与延伸把官方测试当作跑通自查仓库specs/Specs.bas内置数十组回归断言覆盖嵌套数组、转义字符、null值、日期 ISO 化等场景。打开VBA-JSON - Specs.xlsm完整执行一遍是确认环境配置无误的最快方式。建议按顺序行动导入JsonConverter.bas确认编译通过运行 API 速查一节的闭环示例对照两种输出格式试 README 中的进阶例子读取.json文件并把结果写入 Sheet执行 Specs 工程一遍确认全部断言通过。收尾VBA-JSON 把 Excel 的 JSON 处理从自写一串字符串操作压缩到导入一份文件。下次接口返回 JSON 时只需要记住一句话VBA 解析 JSON一个 .bas 文件就够。【免费下载链接】VBA-JSONJSON conversion and parsing for VBA项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

掌机刷固件从怕变爽?MiyooCFW 2.0.0 Beta 把首开设置、帧同步和 TV 输出一次讲清

掌机刷固件从怕变爽?MiyooCFW 2.0.0 Beta 把首开设置、帧同步和 TV 输出一次讲清

掌机刷固件从怕变爽?MiyooCFW 2.0.0 Beta 把首开设置、帧同步和 TV 输出一次讲清 【免费下载链接】MiyooCFW Custom firmware source code and resources for BittBoy, PocketGo, PowKiddy V90-Q90-Q20 and third party handheld consoles 项目地址: https://gitc…

2026/8/27 16:18:23
10万字长文续写测试:AI写作靠谱吗?解析玉芬AI超长上下文实战表现

10万字长文续写测试:AI写作靠谱吗?解析玉芬AI超长上下文实战表现

AI写作靠谱吗?对于需要撰写长篇小说、学术综述、行业白皮书的用户来说,“写到一半遗忘前文”是最大痛点。作为AI模型聚合平台,玉芬AI( neneai.cn ) 具备超大上下文窗口能力,让长文本阅读与长篇续写毫无压力。 Q:用AI写…

2026/8/27 16:18:23
GitOps Promoter ArgoCDCommitStatus实战:让应用健康度成为晋升门禁的终极指南

GitOps Promoter ArgoCDCommitStatus实战:让应用健康度成为晋升门禁的终极指南

GitOps Promoter ArgoCDCommitStatus实战:让应用健康度成为晋升门禁的终极指南 【免费下载链接】gitops-promoter GitOps Environment Promotion tool that lets you focus on the "what," not the "how" 项目地址: https://gitcode.com/gh_m…

2026/8/27 16:18:23
如何为PodcastGenerator开发自定义主题:theme.json与PHP模板完整指南

如何为PodcastGenerator开发自定义主题:theme.json与PHP模板完整指南

如何为PodcastGenerator开发自定义主题:theme.json与PHP模板完整指南 【免费下载链接】PodcastGenerator Open Source Podcast Publishing Solution (2006–2026) 项目地址: https://gitcode.com/gh_mirrors/po/PodcastGenerator PodcastGenerator 是一款开源…

2026/8/27 16:18:23
在 OBS 里让按键自己“说话“:Input Overlay 实战笔记

在 OBS 里让按键自己“说话“:Input Overlay 实战笔记

在 OBS 里让按键自己"说话":Input Overlay 实战笔记 【免费下载链接】input-overlay Show keyboard, gamepad and mouse input on stream 项目地址: https://gitcode.com/gh_mirrors/in/input-overlay 你正在直播,弹幕问"刚才那个…

2026/8/27 16:18:23
Astral去中心化组网工具架构深入:Clean Architecture + signals_flutter响应式状态管理实战指南

Astral去中心化组网工具架构深入:Clean Architecture + signals_flutter响应式状态管理实战指南

Astral去中心化组网工具架构深入:Clean Architecture signals_flutter响应式状态管理实战指南 【免费下载链接】astral 去中心化组网工具 项目地址: https://gitcode.com/gh_mirrors/astral7/astral Astral 是一款跨平台的去中心化组网工具,让用…

2026/8/27 16:13:23