Я получаю данные из json API в моем коде Kotlin.Я могу правильно проанализировать данные на предмет наличия строковых значений, но анализ списка массивов вызывает проблемы.
Мои данные ответа следующие:
{
"limit": "10",
"schedule": {
"0": ["0", "3.00", "7.59", "9.00", "12.59", "14.00", "22.59"],
"1": ["1", "3.00", "7.59", "9.00", "12.59", "14.00", "22.59"],
"2": ["2", "3.00", "7.59", "9.00", "12.59", "14.00", "22.59"],
"3": ["3", "3.00", "7.59", "9.00", "12.59", "14.00", "22.59"],
"4": ["4", "3.00", "7.59", "9.00", "12.59", "14.00", "22.59"],
"5": ["5", "3.00", "7.59", "9.00", "12.59", "14.00", "22.59"],
"6": ["6", "3.00", "7.59", "9.00", "12.59", "14.00", "22.59"]
},
"target_temp": "32.18"
}
Теперь для получения значения, например target_temp, я использую следующеекод успешно
val gson = GsonBuilder().create()
val target = gson.fromJson(body, data::class.java) println(target.target_temp)
и мой код класса прост
class data(val target_temp: String)
Теперь, когда я хочу получить доступ к расписанию, я получаю сообщение об ошибке.
java.lang.IllegalStateException: Ожидаемый BEGIN_ARRAY, но был BEGIN_OBJECT в строке 1 столбца 50 путь $ .schedule
Мой код для получения расписания приведен ниже.
val gson = GsonBuilder().create()
val schedule = gson.fromJson(body, schedule::class.java)
println(schedule.schedule.get(1))
и класс для расписания
class schedule(val schedule: ArrayList<String>)