Ошибка преобразования json в объект с помощью moshi
вид json строки:
{"server":999,
"photo":"eyJvaWQiOi0yMjUwNjExNzUsInBob3RvIjp7Im1hcmtlcnNfcmVzdGFydGVkIjp0cnVlLCJwaG90byI6IjQ0ZmVmMTc2YTU6eCIsInNpemVzIjpbXSwibGF0aXR1Z",
"mid":853732551,
"hash":"7448f93f405dfd5c444f5d4aabb84942",
"message_code":2,
"profile_aid":-6}
Объект создан:
@JsonClass(generateAdapter = true)
data class uploadResult(
@Json(name = "server")
val server: Int,
@Json(name = "photo")
val photo: String,
@Json(name = "mid")
val mid: Int,
@Json(name = "hash")
val hash: String,
@Json(name = "message_code")
val message_code: Int,
@Json(name = "profile_aid")
val profile_aid: Int
)
Код преобразования:
val moshi = Moshi.Builder()
.addLast(KotlinJsonAdapterFactory()).build()
val jsonAdapter: JsonAdapter<uploadResult> = moshi.adapter(uploadResult::class.java)
val result = jsonAdapter.fromJson(response.body!!.toString())
На присвоения jsonAdapter выдает такую ошибку:
java.lang.AbstractMethodError: Receiver class kotlin.reflect.jvm.internal.KClassImpl does not define or inherit an implementation of the resolved method 'abstract boolean isValue()' of interface kotlin.reflect.KClass.
at com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory.create(KotlinJsonAdapter.kt:269)
at com.squareup.moshi.Moshi.adapter(Moshi.java:146)
at com.squareup.moshi.Moshi.adapter(Moshi.java:106)
at com.squareup.moshi.Moshi.adapter(Moshi.java:80)
at ru.Frozik6k.VKmon.API.VkClient$createGroup$1$onResponse$4.onResponse(vkService.kt:156)
at retrofit2.OkHttpCall$1.onResponse(OkHttpCall.java:161)
at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
в файле pom.xml прописано:
<properties>
<kotlin.version>1.8.21</kotlin.version>
<tornadofx.version>1.7.20</tornadofx.version>
<moshi.version>1.15.1</moshi.version>
</properties>
и
<dependency>
<groupId>com.squareup.moshi</groupId>
<artifactId>moshi</artifactId>
<version>${moshi.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.moshi</groupId>
<artifactId>moshi-kotlin</artifactId>
<version>${moshi.version}</version>
</dependency>