如何从MacOS上的Excel中的HTTP端点检索JSON并解析它?

Che*_*eso 7 excel vba json excel-vba-mac

我已经看过如何使用VBA从Excel向服务器发送HTTP POST请求?

以及 描述如何使用QueryTables从HTTP端点检索数据的MacOS友好响应.它演示了如何检索单个字符串并将其填充到单元格中.

都好.现在我想检索多个值.它是一个很大的JSON字符串,我想在填充一个或多个单元格之前在Excel VBA中对其进行后处理.

这怎么可能?

我可以想到一种方法 - 将QueryTables的结果放入隐藏的单元格中,然后对隐藏的单元格进行后处理以填充其他单元格.我还没有评估过几个VBA的JSON库.

但这看起来很糟糕.真的,我不想依赖于将JSON存储为单元格中的值.我想将它只存储在我的VBA代码中的变量中.就像我在使用CreateObject("MSXML2.ServerXMLHTTP")一样.(注意:在MacOS上的Excel中无法使用CreateObject()).

我理解这里最好的答案可能是: 如果要在Excel中运行应用程序,请获取Windows计算机.

mff*_*fap 9

你可以Worksheets(0).QueryTable在VBA中实际使用该方法.只需查看手册或谷歌即可.因此,您不必将json字符串存储到单元格中.

或者我使用过类似的东西

Public Function GetWebSource(ByRef URL As String) As String
    Dim xml As IXMLHTTPRequest
    On Error Resume Next
    Set xml = CreateObject("Microsoft.XMLHTTP")
    With xml
        .Open "GET", URL, False
        .send
        GetWebSource = .responseText
    End With
    Set xml = Nothing
End Function
Run Code Online (Sandbox Code Playgroud)

下载一个json字符串.

四处寻找解析器.像在Excel VBA中解析JSON一样可以满足您的需求.