표면적으로는 이런에러가 나고
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column XXX path $.XXXX
Gson 안을 보면
Method threw 'java.lang.NullPointerException' exception. Cannot evaluate java.time.LocalDateTime.toString()
에러를 볼 수 있다. 해결하는 방법은 Deserializer를 구현해주면 된다.
private val gson = GsonBuilder()
.registerTypeAdapter(LocalDateTime::class.java, JsonDeserializer { json, _, _ ->
val time = json.asJsonPrimitive.asString
LocalDateTime.parse(time, DateTimeFormatter.ISO_DATE_TIME)
})
.registerTypeAdapter(LocalDate::class.java, JsonDeserializer { json, _, _ ->
val date = json.asJsonPrimitive.asString
LocalDateTime.parse(date, DateTimeFormatter.ISO_DATE)
})
.create()
댓글 없음:
댓글 쓰기