testGson
unknown
kotlin
3 years ago
762 B
6
Indexable
import com.google.gson.TypeAdapter
import com.google.gson.stream.JsonReader
import com.google.gson.stream.JsonWriter
class UserTypeAdapter : TypeAdapter<User>() {
override fun write(out: JsonWriter?, value: User?) {
if (value?.age != null) {
out?.jsonValue("{\"id\":${value.id},\"name\":\"${value.name}\",\"age\":${value.age}}")
} else {
out?.jsonValue("{\"id\":${value?.id},\"name\":\"${value?.name}\",\"age\":null}")
}
}
override fun read(`in`: JsonReader?): User {
`in`?.beginObject()
val reader = `in`
while (reader?.hasNext() == true) {
reader.skipValue()
}
reader?.endObject()
return User(1, "john", 1)
}
}Editor is loading...