Notice
Recent Posts
Recent Comments
Link
투케이2K
550. (kotlin/코틀린) Jackson ObjectMapper 사용해 매퍼 클래스 json 매핑 수행 - writeValueAsString , readValue 본문
Kotlin
550. (kotlin/코틀린) Jackson ObjectMapper 사용해 매퍼 클래스 json 매핑 수행 - writeValueAsString , readValue
투케이2K 2025. 4. 26. 12:58[개발 환경 설정]
개발 툴 : AndroidStudio
개발 언어 : Kotlin

[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Java / Kotlin
- 개발 툴 : AndroidStudio
- 기술 구분 : Jackson / ObjectMapper / writeValueAsString / readValue
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
package com.example.kotlinproject
data class M_Jackson_User (
/**
* // --------------------------------------------------------------------------------------
* TODO [클래스 설명]
* // --------------------------------------------------------------------------------------
* 1. TODO [설명] : Jackson 라이브러리 사용 Object 매퍼 클래스
* // --------------------------------------------------------------------------------------
* 2. TODO [build.gradle 라이브러리 설치 방법]
*
* // TODO [jackson 라이브러리 추가]
* implementation 'com.fasterxml.jackson.core:jackson-core:2.13.4'
* implementation 'com.fasterxml.jackson.core:jackson-annotations:2.13.4'
* implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4'
* implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.4")
*
* // --------------------------------------------------------------------------------------
* 3. TODO [참고 내용]
*
* - Jackson 라이브러리 사용해 Object To Class 매핑 시 Get, Set 메소드 필수 선언 필요
* // --------------------------------------------------------------------------------------
* 4. TODO [참고 사이트]
*
* [라이브러리] [Android] Jackson 자바 Object to Json 변환 라이브러리
*
* https://blog.naver.com/kkh0977/223062394936?trackingCode=blog_bloghome_searchlist
*
*
* [Jackson 라이브러리 사용해 Class 클래스 정보 Json 변환]
*
* https://blog.naver.com/kkh0977/223841809345?trackingCode=blog_bloghome_searchlist
*
* // --------------------------------------------------------------------------------------
* */
// ------------------------------------------------------------------------------------------
// TODO [사용 방법]
// ------------------------------------------------------------------------------------------
/*
try {
// -------------------------------------------------
// TODO [Class To Object 변환 수행]
// -------------------------------------------------
// TODO [참고] : Class 에서 Get, Set 함수가 없는 경우 에러 발생 주의
// -------------------------------------------------
var userId = "TWOK123"
var userName = "투케이"
var userAge = 30
var userAddr = arrayOf("A", "B")
val m_jackson_user = M_Jackson_User(userId, userName, userAge, userAddr)
val objectMapper = ObjectMapper()
val jsonData = objectMapper.writeValueAsString(m_jackson_user) // Class To Object String
S_Log._W_("[Jackson] :: Class To Object 변환 수행", arrayOf( jsonData ))
// -------------------------------------------------
// TODO [Object To Class 변환 수행]
// -------------------------------------------------
// TODO [참고] : Class 에서 Default 클래스 생성자 초기화가 없는 경우 에러 발생 주의
// -------------------------------------------------
val jsonData = "{\"userAddr\":[\"A\",\"b\"],\"userAge\":30,\"userId\":\"TWOK123\",\"userName\":\"투케이\"}"
// [ObjectMapper 인스턴스 생성]
val objectMapper = jacksonObjectMapper().registerKotlinModule()
// [JSON 문자열을 객체로 변환]
val m_jackson_user: M_Jackson_User = objectMapper.readValue(jsonData)
S_Log._W_("[Jackson] :: Object To Class 변환 수행", arrayOf(
"getUserId :: " + m_jackson_user.userId,
"getUserName :: " + m_jackson_user.userName,
"getUserAge :: " + m_jackson_user.userAge.toString(),
"getUserAddr :: " + Arrays.toString(m_jackson_user.userAddr),
))
// -------------------------------------------------
}
catch (Exception e){
e.printStackTrace();
}
*/
// ------------------------------------------------------------------------------------------
// ------------------------------------------------------------------------------------------
// TODO [전역 변수 선언] : 코틀린 자동 get , set
// ------------------------------------------------------------------------------------------
val userId: String,
val userName: String,
val userAge: Int,
val userAddr: Array<String>
)
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[라이브러리] [Android] Jackson 자바 Object to Json 변환 라이브러리
https://blog.naver.com/kkh0977/223062394936?trackingCode=blog_bloghome_searchlist
[Jackson 라이브러리 사용해 Class 클래스 정보 Json 변환]
https://blog.naver.com/kkh0977/223841809345?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
반응형
'Kotlin' 카테고리의 다른 글
Comments