상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
저작권의 기본 개념은 무엇인가요?
저작권이 있는 콘텐츠를 변형하여 새로운 창작물을 만들 때의 법적 문제는 무엇인가요?
국제 저작권 협약의 업데이트는 어떻게 확인하나요?
이두근을 운동할 때 어떤 식단이 도움이 되나요?
제니퍼 APM에서 자바 애플리케이션의 비동기 처리 성능을 모니터링하는 방법은?
자바에서 정적 변수(static variable)란 무엇인가요?
ASML의 기술이 반도체 미세 공정에 어떤 영향을 미치나요?
ASML의 장비는 소비자 제품의 성능에 어떤 영향을 미치나요?
고추장을 사용한 떡볶이 레시피는?
고추장을 사용한 국물 요리는?
고추장을 사용한 찜 요리는?
에어컨을 구매할 때 고려해야 할 요소는 무엇인가요?
Previous
Next
수정하기 - 코틀린에서 JSON 데이터를 처리하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
<a href='https://sangseek.com/sangseeks/코틀린/ko'>코틀린</a>에서 JSON 데이터를 처리하는 방법은 여러 가지가 있으며, 주로 사용하는 라이브러리로는 `Gson`, `Moshi`, `Kotl<a href='https://sangseek.com/sangseeks/inx/ko'>inx</a>.serialization` 등이 있습니다. 각 라이브러리는 JSON 데이터를 직렬화(객체를 JSON 문자열로 변환)하고 <a href='https://sangseek.com/sangseeks/역직렬화/ko'>역직렬화</a>(JSON 문자열을 객체로 변환)하는 기능을 제공합니다. 아래에서는 각 라이브러리의 <a href='https://sangseek.com/sangseeks/사용 방법/ko'>사용 방법</a>과 예제를 자세히 설명하겠습니다. 1. Gson Gson은 Google에서 제공하는 JSON 처리 라이브러리로, 간단하고 사용하기 쉬운 API를 제공합니다. Gradle 의존성 추가 ```groovy implementation 'com.google.code.gson:gson:2.8.8' ``` 데이터 클래스 정의 ```kotlin data class User(val name: String, val age: Int) ``` JSON 직렬화 및 역직렬화 ```kotlin import com.google.gson.Gson fun main() { val gson = Gson() // 객체를 JSON 문자열로 변환 val user = User("Alice", 30) val jsonString = gson.toJson(user) println(jsonString) // {"name":"Alice","age":30} // JSON 문자열을 객체로 변환 val userFromJson = gson.fromJson(jsonString, User::class.java) println(userFromJson) // User(name=Alice, age=30) } ``` 2. Moshi Moshi는 Square에서 개발한 JSON 처리 라이브러리로, Kotlin과의 호환성이 뛰어나고 Kotlin의 데이터 클래스와 잘 통합됩니다. Gradle 의존성 추가 ```groovy implementation 'com.squareup.moshi:moshi:1.12.0' implementation 'com.squareup.moshi:moshi-kotlin:1.12.0' ``` 데이터 클래스 정의 ```kotlin data class User(val name: String, val age: Int) ``` JSON 직렬화 및 역직렬화 ```kotlin import com.squareup.moshi.Moshi import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory fun main() { val moshi = Moshi.Builder().add(KotlinJsonAdapterFactory()).build() val jsonAdapter = moshi.adapter(User::class.java) // 객체를 JSON 문자열로 변환 val user = User("Bob", 25) val jsonString = jsonAdapter.toJson(user) println(jsonString) // {"name":"Bob","age":25} // JSON 문자열을 객체로 변환 val userFromJson = jsonAdapter.fromJson(jsonString) println(userFromJson) // User(name=Bob, age=25) } ``` 3. Kotlinx.serialization Kotlinx.serialization은 Kotlin 공식 라이브러리로, Kotlin 언어에 최적화된 JSON 처리 기능을 제공합니다. 이 라이브러리는 Kotlin의 코루틴 및 <a href='https://sangseek.com/sangseeks/기타 기능/ko'>기타 기능</a>과 잘 통합됩니다. Gradle 의존성 추가 ```groovy implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3' ``` 데이터 클래스 정의 ```kotlin import kotlinx.serialization.Serializable @Serializable data class User(val name: String, val age: Int) ``` JSON 직렬화 및 역직렬화 ```kotlin import kotlinx.serialization.encodeToString import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json fun main() { val json = Json { <a href='https://sangseek.com/sangseeks/pretty/ko'>pretty</a>Print = true } // 객체를 JSON 문자열로 변환 val user = User("Charlie", 28) val jsonString = json.encodeToString(user) println(jsonString) // { "name": "Charlie", "age": 28 } // JSON 문자열을 객체로 변환 val userFromJson = json.decodeFromString<User>(jsonString) println(userFromJson) // User(name=Charlie, age=28) } ``` 결론 코틀린에서 JSON 데이터를 처리하는 방법은 다양하며, 선택한 라이브러리에 따라 사용법이 조금씩 다릅니다. `Gson`은 간단하고 널리 사용되며, `Moshi`는 Kotlin과의 호환성이 뛰어나고, `Kotlinx.serialization`은 Kotlin 언어에 최적화된 기능을 제공합니다. 각 라이브러리의 특성을 고려하여 프로젝트에 적합한 라이브러리를 선택하면 됩니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기