Так что я считаю, что дооснащение позволяет использовать gson вручную, в соответствии с использованием gson
Структура json, которую вы описали, означает, что у вас нет земельного объекта kotlin наверхний уровень, но карта земли котлин.Если у вас есть контроль над API, который вы используете, постарайтесь не переводить Карты на верхний уровень - что это за карта?В идеале у вас есть хороший четко определенный объект на верхнем уровне, и в нем есть поля, которые передают семантику данных, которые они инкапсулируют.Но это справка.
Давайте определим объект, которому соответствуют ваши даты:
data class ImageMapping(
val path: String,
val org_name: String
)
А затем, для вашей конкретной структуры данных, вам нужно будет использовать прямой вызоввашего сервиса дооснащения и получить доступ к телу ответа напрямую.Если у вас есть это, вы можете десериализовать это самостоятельно.Я не знаю, как или как выглядят ваши конечные точки, и этот вопрос не о подключении Retrofit Я думаю, речь идет о десериализации json с Map в качестве верхнего объекта.Надеюсь, этого достаточно, чтобы вы подключили его к своему собственному коду:
val call = yourRetrofitService.getYourData(yourArgument)
val result = call.execute().body()
val gson = Gson()
val type = object : TypeToken<Map<String, List<ImageMapping>>>() {}.type
val map: Map<String, List<ImageMapping>> = gson.fromJson(result, type)
map.forEach{entry ->
println(entry.key) // This should be your dates.
}
Ключевая часть, чтобы заставить json работать с типом карты в Kotlin, - определить этот TypeToken.