在VBA中访问Variant / Object / JScriptTypeInfo属性

我有以下代码VBA代码(对于Excel模块)

Function getDesc(ByVal pCode As String) As String Dim oRequest As Object Set oRequest = CreateObject("WinHttp.WinHttpRequest.5.1") oRequest.Open "GET", "https://my.url.com/?filter=CODE=" & pCode, False oRequest.SetRequestHeader "Accept", "application/json" oRequest.Send "" Set props = jsonDecode(oRequest.ResponseText) getDesc = props.row_data End Function Function jsonDecode(jsonString As Variant) Set sc = CreateObject("ScriptControl"): sc.Language = "JScript" Set jsonDecode = sc.Eval("(" + jsonString + ")") End Function 

props.row_data的结果如图所示 在这里输入图像说明

我无法弄清楚如何将属性LONG_DESCRIPTION分配给getDesc =

我需要什么正确的语法? 另外,我会接受任何解决scheme,将允许我返回stringLONG_DESCRIPTION

尝试下面的代码。 将JSON.bas模块导入到JSON处理的VBA项目中。

 Option Explicit Function getDesc(ByVal pCode As String) As String Dim oRequest As Object Dim sJSONString As String Dim vJSON As Variant Dim sState As String Set oRequest = CreateObject("WinHttp.WinHttpRequest.5.1") oRequest.Open "GET", "https://my.url.com/?filter=CODE=" & pCode, False oRequest.SetRequestHeader "Accept", "application/json" oRequest.Send sJSONString = oRequest.ResponseText JSON.Parse sJSONString, vJSON, sState getDesc = vJSON("row_data")(0)("LONG_DESCRIPTION") End Function 

使用JSONstring进行testing{'row_data':[{'LONG_DESCRIPTION':'desc_string'}]}