투케이2K

381. (kotlin/코틀린) [유틸 파일] getObjectToJsonPrettyString : JSON 정렬 후 문자열 데이터 반환 본문

Kotlin

381. (kotlin/코틀린) [유틸 파일] getObjectToJsonPrettyString : JSON 정렬 후 문자열 데이터 반환

투케이2K 2023. 8. 18. 23:26

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : [RETURN] getObjectToJsonPrettyString : JSON 정렬 후 문자열 데이터 반환
        // -----------------------------------------------------------------------------------------
        fun getObjectToJsonPrettyString(`object`: Any): String {

            /**
             * // -----------------------------------------
             * [getObjectToJsonPrettyString 메소드 설명]
             * // -----------------------------------------
             * 1. getObjectToJsonPrettyString : JSON 정렬 후 문자열 데이터 반환
             * // -----------------------------------------
             * 2. 호출 방법 :
             *
             * var map = HashMap<String, Any>()
             * map.put("name", "TWOK")
             *
             * C_Util.getObjectToJsonPrettyString(map)
             * // -----------------------------------------
             * 3. 리턴 데이터 :
             * {
             * "name": "TWOK"
             * }
             * // -----------------------------------------
             * 4. 참고 Gson 라이브러리 설치 :
             *
             * implementation 'com.google.code.gson:gson:2.8.6'
             * // -----------------------------------------
             */


            // [변수 선언 실시]
            var returnData = ""
            var m_log = ""
            var errorFlag = false


            // [로직 처리 실시]
            try {

                // [1]. 인풋 값 널 체크 수행
                if (`object` == null) {
                    m_log = "[ERROR] : Input Data Is Null"
                    errorFlag = true
                }


                // [2]. Gson 사용해 변경 수행
                try {

                    if (errorFlag == false) {

                        // [3]. [리턴 변수에 삽입]
                        returnData =
                            Gson().newBuilder().setPrettyPrinting().create().toJson(`object`).toString()
                        if (stringNotNull(returnData) == true) {
                            m_log = "[SUCCESS] : Json String"
                        } else {
                            returnData = ""
                            m_log = "[ERROR] : Return Data Is Null"
                        }
                    }

                } catch (ex: Exception) {
                }

            } catch (e: Exception) {
                S_Log._printStackTrace_(null, S_FinalMsg.LOG_BUG_STATE, null, e)
                m_log = "[Exception] : " + e.message.toString()
                errorFlag = true
            }


            // [로그 출력]
            /*
            // ===============================================================
            S_Log._D_("JSON 정렬 후 문자열 데이터 반환", arrayOf(
                "INPUT :: " + `object`.toString(),
                "M_LOG :: $m_log",
                "RETURN :: $returnData"
            ))
            // ===============================================================
            // */


            // [리턴 데이터 반환 실시]
            return returnData
        }

 

반응형
Comments