Диапазон цикла for должен иметь метод iterator () при попытке получить дочерние элементы дочернего элемента в Json с помощью kotlin - PullRequest
0 голосов
/ 27 сентября 2019

Отправляю запрос на получение и получаю ответ в моем приложении kotlin.Я получаю ответ файла Json с URL, который дает мне много вложенных объектов.Мне нужно достичь 2-го или 3-го уровня этих вложенных ключей, и я не могу этого сделать, вот часть моего вложенного ответа JSON-файла

{"summary":{"query":"العجمى","queryType":"NON_NEAR","queryTime":30,"numResults":9,"offset":0,"totalResults":26,"fuzzyLevel":1},"results":[{"type":"Street","id":"EG/STR/p0/201475","score":2.0553,"address":{"streetName":"إمتداد شارع العجمى","municipalitySubdivision":"مركز الخانكة","municipality":"الخانكة","countrySubdivision":"القليوبية","countryCode":"EG","country":"Egypt","countryCodeISO3":"EGY","freeformAddress":"إمتداد شارع العجمى, الخانكة مركز الخانكة"},"position":{"lat":30.19773,"lon":31.34622},"viewport":{"topLeftPoint":{"lat":30.19811,"lon":31.34531},"btmRightPoint":{"lat":30.19766,"lon":31.3464}}},{"type":"Street","id":"EG/STR/p0/203078","score":2.03554,"address":{"streetName":"متفرع من شارع العجمى","municipalitySubdivision":"مركز الخانكة","municipality":"الخانكة","countrySubdivision":"القليوبية","postalCode":"13758","countryCode":"EG","country":"Egypt","countryCodeISO3":"EGY","freeformAddress":"متفرع من شارع العجمى, الخانكة مركز الخانكة"},"position":{"lat":30.19495,"lon":31.35621},"viewport":{"topLeftPoint":{"lat":30.19495,"lon":31.35621},"btmRightPoint":{"lat":30.19476,"lon":31.35708}}},]}

, как вы видите, есть summary, то естьresults как массив, то есть много входных данных, которые я пытаюсь достичь, это freeformAddress.

с использованием:

for (item in response) {
Log.e("the item is : "
}

печатает весь ответ, так как он получает только ключ summary, когда я пытаюсь пройти через него следующим образом:

                for (item in response) {
                    Log.e("Response is:", response)
                    for(deepItem in  item) {
                        Log.e("hi ", deepItem)
                    }
                }

itвыдает ошибку for-loop range must have an 'iterator()' method

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...