我使用的是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",您将返回一个字典。