Gson
-
직렬화 라이브러리 마이그레이션 이유(Gson 에서 Kotlinx-Serialization)Android & Kotlin 2023. 12. 22. 00:12
📌 마이그레이션 배경 Gson 은 Kotlin 의 Null-Safety 를 완전히 지원하지 못한다 Backend 로 부터 약속에서 어긋난 응답을 받는 경우가 존재한다(None-Null type 필드가 Null로) Backend 와 약속된 응답 형태에 근거하여 응답값의 Nullable 을 판단해왔었지만, 간혹 약속되지 않은 Null 을 전달해줄 때가 있었다. 이때Gson 은 None-Null 로 정의 된 필드에 대해서 Null 값이 들어 올 경우 해당 객체에 Null을 주입한다. 그리고 이 필드가 사용되는 시점(정확한 시점으로 규정할 수 없음)에 에러를 발생시킨다. 시점을 규정할 수 없는 탓에 예외처리도 당연히 불가하며 이는 곧 앱 크래시로 이어질 수 있는 위함한 결과를 초래할 수 있다. [ 마이그레인션 ..