[Kotlinx serialization] Json 직렬화/역직렬화 -JSON features #6 기본적으로 Json 객체의 구현은 input값에 엄격하고, kotlin type safety를 준수하며, JSON을 표준으로 표현하기 위해서 serialize 할 수 있는 kotlin 값들을 제한합니다. 다시말해, Kotlin의 value와 모델이 정확하게 pair가 맞아야만 serialize가 가능하기 때문에 예외적인 상황들을 처리하려면 custom 하게 json 객체를 만들어야 합니다. 이번장에서는 JSON format을 정의하고 객체를 만드는 방법에 대해서 설명합니다. 하기 링크을 번역 및 의역 하였습니다. github.com/Kotlin/kotlinx.serialization/blob/master/docs/json.md 이 글은 여러개의 series로 구성되었습니다. 2020/10/22 - [개발.. 개발이야기/Kotlin 4년 전
[Kotlinx serialization] Json 직렬화/역직렬화 - Serializers #4 이 글은 android 기준으로 설명을 진행합니다. 하기 링크를 참고 하였습니다. github.com/Kotlin/kotlinx.serialization/blob/master/docs/serializers.md 또한 로그 출력을 위해서 println이나 이와 동일한 역할을 하는 LogInfo를 사용 합니다. (LogInfo는 안드로이드에서 로그출력을 위해 제가 따로 만들어 놓은 Top-Level function 입니다.) 이 글은 여러개의 series로 구성되었습니다. 2020/10/22 - [개발이야기/Kotlin] - [Kotlinx serialization] Json 직렬화/역직렬화 - Fast apply #1 2020/11/03 - [개발이야기/Kotlin] - [Kotlinx serializat.. 개발이야기/Kotlin 4년 전
[Kotlinx serialization] Json 직렬화/역직렬화 - Builtin classes #3 이 글은 하기 링크를 기준으로 설명합니다. github.com/Kotlin/kotlinx.serialization/blob/master/docs/builtin-classes.md 또한 예제에서 사용된 LogInfo(TAG) { "print log"}의 표현은 안드로이드의 Log.d(TAG, "print log")와 동일한 표현입니다. 이 글은 여러개의 series로 구성되었습니다. 2020/10/22 - [개발이야기/Kotlin] - [Kotlinx serialization] Json 직렬화/역직렬화 - Fast apply #1 2020/11/03 - [개발이야기/Kotlin] - [Kotlinx serialization] 기본 사용법#2 2020/11/27 - [개발이야기/Kotlin] - [Kotli.. 개발이야기/Kotlin 4년 전
[Kotlinx serialization] 기본 사용법#2 이 글은 하기 링크를 기준으로 설명합니다. https://github.com/Kotlin/kotlinx.serialization/blob/master/docs/basic-serialization.md 또한 예제에서 사용된 LogInfo(TAG) { "print log"}의 표현은 Log.d(TAG, "print log")와 동일한 표현입니다. 이 글은 여러개의 series로 구성되었습니다. 2020/10/22 - [개발이야기/Kotlin] - [Kotlinx serialization] Json 직렬화/역직렬화 - Fast apply #1 2020/11/17 - [개발이야기/Kotlin] - [Kotlinx serialization] Json 직렬화/역직렬화 - Builtin classes #3 2020/.. 개발이야기/Kotlin 4년 전
[Kotlinx serialization] Json 직렬화/역직렬화 - Fast apply #1 Json을 parsing 하여 Model에 채우거나 Model의 데이터를 Json으로 만들기 위해서는 많은 방법들이 존재합니다. Android에서 사용할 때는 JSONObject를 이용하여 수동(??)으로 직접 한 땀 한 땀 할 수도 있고, 이를 지원해 주는 라이브러리를 이용할 수 도 있습니다. 그중에 가장 많이 또는 가장 흔하게 사용하는 라이브러리로는 Gson이 있죠. 특히나 Retrofit을 사용할 때 Gson과 연결하여 쉽게 서버와 통신하도록 코드를 작성할 수 있습니다. 하지만 Gson의 경우 kotlin에서 작성된 model 클래스에 default value를 설정한 멤버 변수가 있더라도 default 값이 적용되지 않을 수 있습니다. 또한 Gson의 경우 철저하게 nullability를 chec.. 개발이야기/Kotlin 4년 전