从最后一个JSON对象获取值

在VBA中,我使用下面的JSON转换器https://github.com/VBA-tools/VBA-JSONparsing简单的JSON响应。

不过,我有一个JSON响应,有多个对象,我希望我的代码总是在最后一个(即更新的)对象的值。

这是我的JSON:

[ { "masterDataID": 26941, "testRunID": 66929 }, { "masterDataID": 26941, "testRunID": 67485 }, { "masterDataID": 26941, "testRunID": 67926 } ] 

正如你所看到的,对象没有明显的名字,所以我不得不用数字来表示它们。

这是我的代码:

 Public Sub GETID() Dim http As Object, JSON As Object, i As Integer Dim URL As String URL = Range("B3") Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", URL, False http.send Set JSON = ParseJson(http.responseText) ID = JSON(1)("testRunID") Range("B4") = ID End Sub 

 ID = JSON(1)("testRunID") 

JSON(1)得到我的第一个对象(即ID = 66929)但是我希望得到最后一个对象,无论有多less对象(也许通过计算对象的数量和做+1)…我害怕我对VBA的了解是非常基本的:

提前非常感谢!

这里你的JSON对象是字典集合(每个字典代表源JSON数组中的一个对象元素)

集合有一个Count属性,所以这会给你你想要的:

 ID = JSON(JSON.Count)("testRunID")