투케이2K

191. (swift5/xcode) [ObjectMapper] json 데이터를 user 모델 객체에 매핑 수행 실시 본문

Swift

191. (swift5/xcode) [ObjectMapper] json 데이터를 user 모델 객체에 매핑 수행 실시

투케이2K 2023. 12. 10. 17:53
반응형

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT5

 

[소스 코드]

 
    // -----------------------------------------------------------------------------------------
    // MARK: - [클래스 정의]
    // -----------------------------------------------------------------------------------------
    class User: Mappable {
        
        var username: String?
        var age: Int?
        var weight: Double!

        required init?(map: Map) {

        }

        // Mappable
        func mapping(map: Map) {
            username    <- map["UserNm"]
            age         <- map["Age"]
            weight      <- map["Weight"]
        }
    }
    
    
    
    
    // -----------------------------------------------------------------------------------------
    // MARK: - [테스트 메인 함수 정의 실시]
    // -----------------------------------------------------------------------------------------
    func testMain() {
        S_Log._D_(description: "테스트 함수 시작 실시", data: nil)
        
        
        /*
         ------------------------------------
         [요약 설명]
         ------------------------------------
         1. ObjectMapper 는 모델 객체 (클래스 및 구조체) 를 JSON 으로 쉽게 변환해주는 라이브러리 입니다
         ------------------------------------
         2. ObjectMapper 는 JSON 을 객체에 매핑 또는 객체를 JSON 에 매핑 시 쉽게 사용할 수 있도록 도움을 줍니다
         ------------------------------------
         3. 필요 import :
         
         import ObjectMapper
         ------------------------------------
         4. 라이브러리 설치 참고 사이트 :
         
         https://blog.naver.com/kkh0977/223288362842
         https://github.com/tristanhimmelman/ObjectMapper
         ------------------------------------
         */
        
        
        // [로직 처리 실시]
        DispatchQueue.main.async {
            
            
            // [json 문자열 생성]
            let json = """
            {
                "UserNm": "Twok",
                "Age": 30,
                "Weight": 60.5
            }
            """
            
            
            // [json 데이터를 user 객체에 매핑]
            let user = User(JSONString: json)
            
            
            // [로그 출력]
            S_Log._D_(description: "로그 출력 수행", data: [
                "username :: \(user?.username)",
                "age :: \(user?.age)",
                "weight :: \(user?.weight)"
            ])
            
        }

    }
 

[결과 출력]


 
반응형
Comments