#kotlin #moshi
#kotlin #moshi
Вопрос:
Я следую примеру в https://proandroiddev.com/getting-started-using-moshi-for-json-parsing-with-kotlin-5a460bf3935a как можно ближе, но все равно не удается убежать.
В моем Gradle у меня есть
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
}
и
dependencies {
implementation "com.squareup.moshi:moshi:1.8.0"
kapt 'com.squareup.moshi:moshi-kotlin-codegen:1.8.0'
}
У меня есть класс
@JsonClass(generateAdapter = true)
data class Movie (
@Json(name = "vote_count") val voteCount: Int = -1,
val id: Int,
val title: String,
@Json(name = "image_path") val imagePath: String,
val overview: String
)
Когда я запускаю свой тест, как показано ниже
@Test
fun testMoshi() {
val moviesJson: String = """
{
"vote_count": 2026,
"id": 19404,
"title": "Example Movie",
"image_path": "/example-movie-image.jpg",
"overview": "Overview of example movie"
}
""".trimIndent()
val moshi: Moshi = Moshi.Builder().build()
val adapter: JsonAdapter<Movie> = moshi.adapter(Movie::class.java)
val movie = adapter.fromJson(moviesJson)
}
Сбой Failed to find the generated JsonAdapter class for class...
Что я пропустил?
Ответ №1:
По-видимому, это потому, что я поместил приведенное ниже в папку Test вместо основной папки.
@JsonClass(generateAdapter = true)
data class Movie (
@Json(name = "vote_count") val voteCount: Int = -1,
val id: Int,
val title: String,
@Json(name = "image_path") val imagePath: String,
val overview: String
)
Когда я перемещаю его в основную папку, он работает (поскольку теперь адаптер может быть сгенерирован)