You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA-JSON解析缺逗号JSON无报错的解决及合法JSON校验方案咨询

VBA-JSON 不抛出语法错误的解决方法

这个工具默认开启了宽松解析模式,会自动兼容缺逗号、末尾多逗号这类小语法错误,所以不会主动报错。可以通过两种方式关闭容错:

  • 直接修改JsonConverter.bas源码:找到文件中UseStrictParsing的常量定义,将默认值False改为True,同时将AllowTrailingCommas配置项设为False,修改后重新导入到VBA工程即可。
  • 运行时动态修改配置:不需要改源码,在调用ParseJson方法前,添加对应配置修改代码,开启严格解析、关闭尾逗号兼容,即可在解析语法错误的JSON时触发运行时错误,你可以通过On Error语句捕获异常处理。
其他JSON合法性验证方法

VBA 工程内可用方案

  • 调用JScript引擎原生校验:Windows环境下可通过MSScriptControl组件调用JS的原生JSON解析能力校验,无需依赖第三方工具,示例代码如下:
Function CheckJsonValid(ByVal jsonStr As String) As Boolean
    On Error Resume Next
    Dim scriptCtrl As Object
    Set scriptCtrl = CreateObject("MSScriptControl.ScriptControl")
    scriptCtrl.Language = "JScript"
    ' 转义字符串中的双引号避免解析错误
    jsonStr = Replace(jsonStr, """", """""")
    scriptCtrl.Eval "JSON.parse(""" & jsonStr & """)"
    CheckJsonValid = (Err.Number = 0)
    Set scriptCtrl = Nothing
    On Error GoTo 0
End Function
  • 正则基础校验:可通过正则表达式做前置快速校验,比如检查大括号、中括号配对,键值对的引号格式等,仅能过滤明显的格式错误,复杂语法问题无法识别。

离线通用校验方案

  • 代码编辑器校验:VS Code、Notepad++等常用代码编辑器都自带JSON语法检测功能,将JSON字符串粘贴到编辑器中,保存为.json格式即可直接看到语法错误位置提示。
  • 批量校验可使用脚本:批量处理场景可编写简单的Python/JS脚本,调用语言内置的JSON解析方法,解析失败即为格式不合法,效率远高于逐个人工校验。

内容的提问来源于stack exchange,提问作者Hemans19

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:15:02