Closed AlexandreZaytsev closed 6 years ago
Александр, доступ ко вложенным элементам возможен с использованием вложенных циклов. Попробуйте начать со следующего примера:
Option Explicit
Sub GetData()
Dim sJSONString As String
Dim vJSON As Variant
Dim sState As String
Dim vItem
Dim vParent
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "http://kladr-api.ru/api.php?query=%D0%90%D1%80%D1%85&contentType=city&withParent=1&limit=2", False
.Send
sJSONString = .responseText
End With
JSON.Parse sJSONString, vJSON, sState
For Each vItem In vJSON("result")
Debug.Print vItem("id") & " / " & vItem("name")
For Each vParent In vItem("parents")
Debug.Print vbTab & vParent("id") & " / " & vParent("name")
Next
Next
End Sub
И, кстати, в Вашем коде использование JSON.ToArray
помещает в aData
все элементы parent
объектов массива result
.
Здравствуйте, вчера нашел Ваш модуль не подскажите как с помощью него распарсить JSON ответ от Кладр по подбору адреса
http://kladr-api.ru/integration/ пример их запроса http://kladr-api.ru/api.php?query=%D0%90%D1%80%D1%85&contentType=city&withParent=1&limit=2
результаты массива первого уровня удалось достать
а как добраться к вложенным в result массивам parents