Как разобрать модифицированное тело JSON с помощью GSON в Kotlin - PullRequest
1 голос
/ 10 апреля 2019

Я работаю над написанием приложений для Android в kotlin.У меня проблема с синтаксическим анализом json. Я работаю с web-сервисом, используя библиотеку модернизации для pojo. Я взял класс данных kotlin.После этого я получаю ответ об успешном выполнении. Я пытаюсь разобрать ответ json с библиотекой gson. Здесь я получаю сообщение об ошибке.

код:

override fun onResponse(call: Call<LoginDataModel>, response: Response<LoginDataModel>) {
    if(response.isSuccessful){
        var loginDataModel = response.body()

        print(loginDataModel)
    }else{}
}

модель:

data class LoginDataModel(var userId: Int, var id: Int, var title: String, var body: String) {}

ошибка:

fun <T : Any!> fromJson(json: JsonElement!, classOfT: Class<T!>!): T! defined in com.google.gson.Gson

1 Ответ

3 голосов
/ 10 апреля 2019

Просто добавьте .addConverterFactory(GsonConverterFactory.create()) в твоей модификации Builder. Я полагаю, вам понадобится это на случай, если вы пропустите GsonCOnverterFactory.create()

и нет необходимости там долго разбирать.

Пример:

Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://api.github.com")
.addConverterFactory(GsonConverterFactory.create())
.build();

РЕДАКТИРОВАТЬ : Вам также нужно будет пометить класс вашей модели с @ @SerializedName("jsonKey") над вашими переменными

...