在函数内访问 JSON:无法弄清楚为什么我得到类型不匹配

Access a JSON inside a function: can't figure out why I get a type mismatch

我正在调用一个接受 Json(来自 VBA Json library)和一些字符串作为输入的函数,但我一直遇到类型不匹配的问题,但是如果我访问 Json 从函数外部(使用原始“json”对象,而不是函数参数“dataJson”,它工作正常。

这是代码(我跳过了一些 API 请求逻辑,因为我知道它有效,我认为这个问题与将 Json 对象传递给函数)

Public json As Object
    
Sub Main()
   'Some HTTP request logic
   Set json = JsonConverter.ParseJson(httpCall.responseText)
   someFunction json, "name", "id"
End Sub

Function someFunction(dataJson as Object, arg1 As String, arg2 As String)
    Debug.Print dataJson(1)(arg1)(arg2) 'this uses the VBA JSON library
    'As soon as I access items within dataJson, I get the type mismatch error
End Function

如何正确访问函数内的 json 对象?

总是可以选择直接访问位于模块级别的“json”变量(因此我可以在函数内部使用它),但那不是很好的做法。

将参数类型从 String 更改为 Variant 似乎解决了该错误。感谢蒂姆·威廉姆斯的建议。