Notice
Recent Posts
Recent Comments
Link
투케이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
}
[결과 출력]
반응형
'Kotlin' 카테고리의 다른 글
154. (kotlin/코틀린) [유틸 파일] listAnyNotNull : List 널 체크 실시 (0) | 2023.01.03 |
---|---|
153. (kotlin/코틀린) [유틸 파일] listDistinct : List 데이터 중복 제거 실시 (0) | 2023.01.03 |
151. (kotlin/코틀린) [유틸 파일] goCameraIntent : 카메라 인텐트 이동 (0) | 2023.01.02 |
150. (kotlin/코틀린) [유틸 파일] setClipboard : 클립 보드 데이터 저장 여부 확인 (0) | 2023.01.01 |
149. (kotlin/코틀린) [유틸 파일] bluetoothConnectState : 사용자 모바일 디바이스 블루투스 장비 연결 상태 확인 (0) | 2023.01.01 |
Comments