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

如何使用Excel VBA校验未知结构的字符串是否为合法JSON格式

Excel VBA 校验JSON格式合法性的实现方法

你无需提前知晓待校验JSON的键值结构、嵌套规则等内容,只需通过VBA调用JSON解析器尝试解析目标字符串即可完成校验:解析无报错则为合法JSON,否则为非法格式。

方案1:32位Office适配方案(无需额外依赖)

直接调用系统内置的ScriptControl组件实现解析,代码如下:

Function IsValidJson(jsonStr As String) As Boolean
    On Error Resume Next
    Dim sc As Object
    Set sc = CreateObject("ScriptControl")
    sc.Language = "JScript"
    ' 转义字符串中的单引号避免解析错误
    sc.Eval "JSON.parse('" & Replace(jsonStr, "'", "\'") & "')"
    IsValidJson = (Err.Number = 0)
    Err.Clear
    Set sc = Nothing
End Function

方案2:32/64位Office通用适配方案

兼容全版本Office,基于HTML文件内置的JS解析器实现,代码如下:

Function IsValidJson_Universal(jsonStr As String) As Boolean
    On Error Resume Next
    Dim htmlObj As Object
    Set htmlObj = CreateObject("htmlfile")
    ' 注入JSON校验逻辑
    htmlObj.parentWindow.execScript "function validateJson(str) { try { JSON.parse(str); return true; } catch(err) { return false; } }", "JScript"
    IsValidJson_Universal = htmlObj.parentWindow.validateJson(jsonStr)
    Err.Clear
    Set htmlObj = Nothing
End Function

使用说明

  • 函数传入参数为待校验的JSON字符串,返回值为布尔类型:True代表格式合法,False代表格式错误
  • 校验逻辑完全不依赖JSON内部的键值定义、嵌套层级,仅校验语法是否符合JSON通用规范
  • 你提供的样例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.03 21:06:03