투케이2K

152. (kotlin/코틀린) [유틸 파일] queryStringToJsonObject : 쿼리 스트링 형태 문자열 데이터를 JsonObject 로 변환 본문

Kotlin

152. (kotlin/코틀린) [유틸 파일] queryStringToJsonObject : 쿼리 스트링 형태 문자열 데이터를 JsonObject 로 변환

투케이2K 2023. 1. 2. 21:36

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

        // TODO [SEARCH FAST] : [RETURN] queryStringToJsonObject : 쿼리 스트링 형태 문자열 데이터를 JsonObject 로 변환
        fun queryStringToJsonObject(data: String): String {

            /**
             * // -----------------------------------------
             * [queryStringToJsonObject 메소드 설명]
             * // -----------------------------------------
             * 1. 쿼리 스트링 형태 문자열 데이터를 JsonObject 로 변환
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * C_Util.queryStringToJsonObject("name=투케이")
             *
             * C_Util.queryStringToJsonObject("name=투케이&age=29&sex=m")
             *
             * // -----------------------------------------
             * 3. 리턴 데이터 :
             *
             * {"name":"투케이","age":"29","sex":"m"}
             * // -----------------------------------------
             */


            // [리턴 변수 선언]
            var returnData = ""
            var checker = false
            var oneCnt = 0
            var twoCnt = 0
            var plusCnt = 0


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

                // [쿼리 스트링 문자 카운트 실시]
                oneCnt = stringCount(data, "=")
                twoCnt = stringCount(data, "&")
                plusCnt = twoCnt + 1
                checker = if (oneCnt - plusCnt == 0) true else false


                // [널 체크 수행 실시]
                if (stringNotNull(data) == true && data.contains("=") == true && checker == true) { // [널이 아닌 경우]

                    // [JSON 객체에 삽입]
                    val jsonObject = JSONObject()
                    for (i in 0..twoCnt) {
                        val parsing = data.split("&").toTypedArray()[i]
                        val key = parsing.split("=").toTypedArray()[0]
                        val value = parsing.split("=").toTypedArray()[1]
                        jsonObject.put(key, value)
                    }

                    // [리턴 데이터에 삽입]
                    returnData = jsonObject.toString()
                }
            } catch (e: Exception) {
                e.printStackTrace()
            }


            // [로그 출력 실시]
            //*
            Log.i("---","---" + "\n")
            Log.d("//===========//","================================================")
            Log.i("","\n"+"[C_Util >> queryStringToJsonObject() :: 쿼리 스트링 형태 문자열 데이터를 JsonObject 로 변환]")
            Log.i("","\n"+"-----------------------------------------")
            Log.i("","\n"+"[INPUT :: "+ data +"]")
            Log.i("","\n"+"-----------------------------------------")
            Log.i("","\n"+"[RETURN :: "+ returnData +"]")
            Log.d("//===========//","================================================")
            Log.i("---","---" + "\n")
            // */


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

[결과 출력]


 
반응형
Comments