groovy
dependencies {
implementation 'com.squareup.moshi:moshi:1.12.0'
}
kotlin
data class User(val name: String, val age: Int)
kotlin
val moshi = Moshi.Builder().build()
kotlin
val user = User("Alice", 25)
val adapter = moshi.adapter(User::class.java)
val json = adapter.toJson(user)
println(json)
kotlin
val userJson = "{\"name\":\"Alice\",\"age\":25}"
val user = adapter.fromJson(userJson)
println(user)
kotlin
class UserAdapter {
@ToJson
fun toJson(user: User): Int {
return user.age
}
@FromJson
fun fromJson(age: Int): User {
return User("", age)
}
}
val moshi = Moshi.Builder().add(UserAdapter()).build()