数组json vba解析器的大小



我使用的是vba json解析器:https://github.com/VBA-tools/VBA-JSON。我想循环在B数组的元素,但我不确定如何做到这一点。例如

Set Json = JsonConverter.ParseJSON("{""a"":123,""b"":[1,2,3,4],""c"":{""d"":456}}")

如果你想要返回B中的元素数量,你该怎么做?

您可以通过以下操作获得实际值:Json("a")

vba-json源文件状态:

解析JSON并创建Dictionary/Collection

你会得到这些对象中的一个。这似乎可以工作:

Sub testJson()
Dim Json As Object
Set Json = JsonConverter.ParseJson("{""a"":123,""b"":[1,2,3,4],""c"":{""d"":456}}")
Debug.Print Json("a") ' -> 123
Debug.Print Json("b")(2) ' -> 2
Debug.Print Json("c")("d") ' -> 456
Json("c")("e") = 789
Dim var As Object
    ' Get the object from Json
    Set var = Json("b")
    ' Both Dictionary and Collection support the Count property
    Debug.Print var.Count
Dim elem As Variant
    For Each elem In var
        Debug.Print elem
    Next elem
Debug.Print JsonConverter.ConvertToJson(Json)
' -> "{""a"":123,""b"":[1,2,3,4],""c"":{""d"":456,""e"":789}}"
End Sub

Json示例中的"b"返回一个集合,但对于"c",您将返回一个字典。

最新更新