только классы разрешены в левой части литерала класса

Я знаю много подобных вопросов здесь, в StackOverflow, но ничего не помогло.

У меня есть общий класс данных:

data class ServiceCall<out T>(val result: T?, val exception: String?, val pagination: String?, val stringResult: String?) 

Я пытаюсь использовать вот так:

 Gson().fromJson(json, ServiceCall<SurveyListModel>::class.java).result 

IDE показывает ошибку: разрешены только классы в левой части литерала класса

Как это решить? Заранее спасибо.

Вы не можете использовать дженерики с class , как это легко заметить:

 List<Int>::class.java 

Это дает вам ту же ошибку. Чтобы использовать типичную типизацию десериализации GSON, сделайте то, что предлагается здесь:

https://stackoverflow.com/a/5554296/8073652

РЕДАКТИРОВАТЬ:

В Котлине это выглядит так:

 val type: Type = object : TypeToken<ServiceCall<SurveyListModel>>() {}.type Gson().fromJson<ServiceCall<SurveyListModel>>(json, type).result 

Вот небольшое доказательство концепции, я написал:

  class Token : TypeToken<List<Int>>() val x: List<Int> = Gson().fromJson(Gson().toJson(arrayOf(1)), Token().type) println(x) 
Intereting Posts
Бинарная версия метаданных – 1.0.1, ожидаемая версия – 1.1.0 Котлин в андроид-студии Kotlin: Функции более высокого порядка для подсчета количества вхождений в List? Kotlin – Использование Realm Module в android Способы запутывания доступа к привилегированным частным, но на самом деле публичным членам класса для использования их в встроенных методах Как вызвать LivePagedListProvider с аргументом в базе данных комнаты Kotlin – ключевое слово «in» – для чего используется? Составление навигационных конфигураций с использованием функциональной DSL-функции Kotlin Как удалить элементы из MutableList в Котлине Как определить объект внутри запечатанной общей иерархии? Android – Kotlin – остановка в середине процесса =? UTF? Q? Строка Newsgroup от ASCII до Unicode IntelliJ IDEA с использованием JavaScript-версии зависимости, указанной в файле сборки Gradle? Как вызвать сокращение на пустой массив Kotlin? Перегрузка сеттера в Котлине