Невозможно проанализировать мой общий класс с помощью GSON в Kotlin с RxJava - PullRequest
0 голосов
/ 20 марта 2019

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

registerEvents<ArrayList<RestaurantModel>>(..)
inline fun <reified T> registerEvents(events: String, requestCode: Int): Observable<Pair<T,Int>> {
        return Observable.create { emitter ->
            mSocket?.on(events) {
                val resp = gson.fromJson("${it[0]}", genericType<ResponseModel<T>>()) as ResponseModel<T>
                if (resp.status) {
                    emitter.onNext(Pair(resp.data!!, requestCode))
                } else {
                    emitter.onError(Throwable("Server Error...."))
                }
            }
        }
    }

Это мой универсальный метод для получения типа необходимого класса

inline fun <reified T> genericType() = object : TypeToken<T>() {}.type

Всегда получать ответ для списка в виде LinkedHashMap для каждого объекта в jsonarray

...