VBA 解析 JSON 快速指南:单文件 JsonConverter.bas 即装即用
VBA 解析 JSON 快速指南单文件 JsonConverter.bas 即装即用【免费下载链接】VBA-JSONJSON conversion and parsing for VBA项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON在 Excel 或 Access 里处理接口返回的 JSON不必逐行拼字符串。开源库 VBA-JSON 把 JSON 解析与转换逻辑集中在JsonConverter.bas一个文件里导入 VBA 工程即可使用Windows 与 Mac 通用。VBA-JSON 能做什么这一节帮你先建立整体认知装好之后你手里有什么。对象转 Dictionary{...}结构解析后是键值容器用键名直接取值。数组转 Collection[...]结构解析后按下标访问下标从 1 开始。嵌套的对象、数组、null、布尔、字符串转义都能正确解析。反向也支持把改过的数据用ConvertToJson转回 JSON 字符串可选紧凑或缩进格式。适用场景速查一张表判断它适不适合你的项目每项一句话。场景说明Excel 拉取接口数据天气、行情、物流等 API 返回的 JSON 写入工作表Access 读写配置用 JSON 文件保存用户选项代替零散字段向外输出把工作表数据转换成 JSON交给 Web 应用或第三方 API共同点只有一个JSON 结构不可控而你处在 VBA 这种老环境里。VBA-JSON 安装步骤四步完成安装全程不超过五分钟。获取仓库git clone https://gitcode.com/gh_mirrors/vb/VBA-JSON在 Excel 中按AltF11打开 VBA 编辑器。在工程上右键导入文件选择根目录下的JsonConverter.bas。按系统补依赖后编译一次无报错即环境就绪。操作系统需要准备的依赖Windows工具 → 引用勾选 Microsoft Scripting RuntimeMac引入 VBA-Dictionary 项目的Dictionary.clsWindowsMac 双兼容也用这个依赖的原因很简单解析结果的底层容器就是 Dictionary 和 Collection没有它们返回值没处放。核心 API 速查三个入口覆盖全部日常用法先记这张表。API作用默认行为ParseJson(text)解析 JSON 字符串为对象非法输入抛出错误码 10001提示Expecting { or [ConvertToJson(obj)对象转 JSON 字符串紧凑输出传Whitespace:2得到 2 空格缩进JsonOptions全局配置开关默认均为 False见下一节最小闭环示例可直接运行Dim order As Object Set order JsonConverter.ParseJson({order_no:A1001,qty:2,total:58.5}) Debug.Print order(qty) order(remark) rush Debug.Print JsonConverter.ConvertToJson(order, Whitespace:2)大数字精度与三个配置开关这是 Excel VBA JSON 开发里最容易丢数据的地方值得单独讲。VBA 的 Double 只能可靠保存 15 位有效数字。身份证号、银行卡号这类超长的纯数字一旦按数值解析末尾几位会被悄悄改写成 0。VBA-JSON 的默认策略是超过 15 位的纯数字一律按字符串返回从源头避免精度丢失。JsonOptions上还有三个开关默认值都是刻意设计的配置项默认值作用UseDoubleForLargeNumbersFalse打开后大数字按 Double 返回会丢精度慎用AllowUnquotedKeysFalse允许解析不带引号的键名标准 JSON 要求必须带引号EscapeSolidusFalse输出时把/转义为\/跑通官方测试验证理解是否到位最直接的办法是跑一遍回归测试。specs/Specs.bas里写了数十组断言嵌套数组、转义引号、null值、大数字边界等逐条对照源码看即可。打开仓库里的VBA-JSON - Specs.xlsm直接执行能看到断言通过情况。下一步行动明确clone 仓库 → 导入JsonConverter.bas→ 跑通上面的最小示例 → 再试 README 里读取 .json 文件并写入 Sheet的进阶例子。VBA-JSON 用单文件换来了 VBA 环境下完整可靠的 JSON 转换能力装一次长期受用。获取方式见仓库地址https://gitcode.com/gh_mirrors/vb/VBA-JSON。【免费下载链接】VBA-JSONJSON conversion and parsing for VBA项目地址: https://gitcode.com/gh_mirrors/vb/VBA-JSON创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
