In GSON to get a list of objects you do
Gson gson = new Gson();
Type token = new TypeToken>(){}.getType();
return gson.fromJson(json
Kotlin "ListOfSomething" solution that worked for me:
fun getGsonList(json: String, kclass: KClass) : List {
return getGsonInstance().fromJson>(json, ListOfSomething(kclass.java))
}
internal class ListOfSomething(wrapped: Class) : ParameterizedType {
private val wrapped: Class<*>
init {
this.wrapped = wrapped
}
override fun getActualTypeArguments(): Array {
return arrayOf(wrapped)
}
override fun getRawType(): Type {
return ArrayList::class.java
}
override fun getOwnerType(): Type? {
return null
}
}