一个数组的大小excel – json vbaparsing器

我正在使用vba jsonparsing器: 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状态的文档:

parsingJSON并创buildDictionary / 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”,您将返回一个字典。