VBA JSON 解析不用手写匹配:VBA-JSON 一个 .bas 文件的安装与使用指南

📅 2026/8/27 1:17:19
VBA JSON 解析不用手写匹配:VBA-JSON 一个 .bas 文件的安装与使用指南
VBA JSON 解析不用手写匹配VBA-JSON 一个 .bas 文件的安装与使用指南【免费下载链接】VBA-JSONJSON conversion and parsing for VBA项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSONVBA 没有内置 JSON 支持靠字符串匹配手工解析既冗长又脆弱。开源库VBA-JSON用一个JsonConverter.bas文件解决这件事导入 VBA 编辑器即可解析与生成 JSONWindows 与 Mac 的 Office 环境通用。这篇 VBA-JSON 教程按装好 → 跑通 → 避坑的顺序带你走完全部流程。 为什么 VBA 处理 JSON 这么难VBA 没有原生字典类型也没有 JSON 解析器手工解析几乎必然撞上四类问题定位费劲找键值对的起止位置要反复调用InStr值里一旦出现逗号或引号定位逻辑就容易错位嵌套失控对象套数组再套对象手工维护递归分支极其繁琐而接口返回的嵌套层级往往不可预测转义遗漏\、\\、换行符、中文混杂在一起手写处理总有漏掉的边界情况类型错配长得像数字的字符串订单号、卡号若按数字处理位数一多数据就被改掉。 VBA-JSON一个文件怎么做到VBA-JSON 的全部核心就是标准模块JsonConverter.bas它对外只暴露两个入口ParseJson把 JSON 文本解析为对象ConvertToJson把对象序列化回 JSON 字符串。导入后在 Windows 与 Mac 的 Excel、Access 等 Office 应用里都能直接编译运行。它的底层机制值得先弄懂解析结果存进两类容器——JSON 对象对应Dictionary按键取值JSON 数组对应Collection下标从 1 开始。拿到结果后按键 下标逐层访问即可完全不用再做字符计数。⚙️ VBA-JSON 安装步骤分三步获取代码、导入工程、补齐平台依赖。git clone https://gitcode.com/gh_mirrors/vb/VBA-JSON打开 VBA 编辑器AltF11在工程节点上右键 → 导入文件选仓库根目录下的JsonConverter.bas再按平台补上依赖平台需要配置的依赖Windows工具 → 引用中勾选Microsoft Scripting RuntimeMac将 VBA-Dictionary 项目的Dictionary.cls导入工程补齐后做一次全工程编译无报错即代表环境就绪。 跑通第一个解析、取值与生成的闭环下面的代码可直接粘进标准模块运行覆盖JSON 进来 → 改数据 → JSON 出去的完整路径Dim j As Object Set j JsonConverter.ParseJson({a:123,b:[1,2,3],c:{d:456}}) Debug.Print j(a) 123 Debug.Print j(b)(2) 2数组按下标从 1 起 Debug.Print j(c)(d) 456嵌套对象 j(c)(e) 789 Debug.Print JsonConverter.ConvertToJson(j, Whitespace:2) 缩进两格输出若遇到VBA JSON 报错 10001来源为 JSONConverter说明ParseJson认为输入非法提示里会指出期望的字符位置。最常见的Expecting { or [意味着文本顶层既不是对象也不是数组排查方向响应被截断、外层多包了一层、或文本开头混入了 BOM 与调试字符。⚠️ 15 位数字精度陷阱VBA 的Double只能可靠保存15 位有效数字。超过 15 位的纯数字订单号、银行卡号按数字解析后末尾几位会被静默归零数据当场失真。VBA-JSON 的默认策略纯数字且长度超过 15 位的值一律以String返回从源头保真。确需调整行为时JsonConverter.JsonOptions提供三个全局开关 默认 False超长纯数字按 String 返回置 True 改按 Double会丢精度慎用 JsonConverter.JsonOptions.UseDoubleForLargeNumbers True 默认 False允许对象键不带引号标准 JSON 要求必须带引号 JsonConverter.JsonOptions.AllowUnquotedKeys True 默认 False输出时将 / 转义为 \/ JsonConverter.JsonOptions.EscapeSolidus True这三个默认值都是刻意设计的理解默认即保真比记函数签名更有用。✅ 验证安装与下一步装完后先跑一遍官方回归测试仓库的 specs/Specs.bas 内置数十组断言覆盖嵌套数组、转义字符、null、日期序列化等边界打开VBA-JSON - Specs.xlsm执行一遍即可确认环境无偏差。行动清单照做即可克隆仓库导入JsonConverter.bas并配好平台依赖运行上面的闭环示例核对输出与缩进格式执行Specs测试确认全部通过接入真实接口解析响应 → 写入工作表再试 README 中读取 .json 文件并写入 Sheet的进阶例子。【免费下载链接】VBA-JSONJSON conversion and parsing for VBA项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考