투케이2K

73. (kotlin/코틀린) JSONTokener 사용해 map , list 를 jsonObject , jsonArray 로 변환 실시 본문

Kotlin

73. (kotlin/코틀린) JSONTokener 사용해 map , list 를 jsonObject , jsonArray 로 변환 실시

투케이2K 2022. 9. 27. 07:43

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

    // TODO [테스트 메소드 정의 실시]
    fun testMain(){
        Log.i("---","---")
        Log.d("//===========//","================================================")
        Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 테스트 함수 동작 실시]")
        Log.d("//===========//","================================================")
        Log.i("---","---")


        /**
         * ------------------------------------
         * TODO [요약 설명]
         * ------------------------------------
         * 1. JSONTokener : 안드로이드 내부에 설치된 json 파싱 도구입니다.
         * ------------------------------------
         * 2. jsonObject 파싱 : JSONTokener(string).nextValue() as JSONObject
         * ------------------------------------
         * 3. jsonArray 파싱 : JSONTokener(string).nextValue() as JSONArray
         * ------------------------------------
         * 4. 참고 사이트 : https://developer.android.com/reference/kotlin/org/json/JSONTokener
         * ------------------------------------
         * */


        // [로직 처리 실시]
        try{
            // ------------------------------------
            // [해쉬맵 초기 변수 선언 실시]
            var hashMap = HashMap<String, Any>()
            hashMap.put("name", "투케이")
            hashMap.put("age", 29)


            // [배열 초기 변수 선언 실시]
            var array = ArrayList<String>()
            array.add("하나")
            array.add("둘")


            // [JSONTokener 사용해 hashMap to jsonObject 변환 실시]
            val jsonObject = JSONTokener(hashMap.toString()).nextValue() as JSONObject

            var parseName = jsonObject.getString("name")
            var parseAge = jsonObject.getString("age")


            // [JSONTokener 사용해 array to jsonArray 변환 실시]
            val jsonArray = JSONTokener(array.toString()).nextValue() as JSONArray


            // [로그 결과 출력 실시]
            Log.i("---","---")
            Log.w("//===========//","================================================")
            Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 로그 출력 결과 확인]")
            Log.i("","\n"+"[parseName : "+ parseName +"]")
            Log.i("","\n"+"[parseAge : "+ parseAge +"]")
            Log.i("","\n"+"[index [0] : "+ jsonArray.get(0) +"]")
            Log.i("","\n"+"[index [1] : "+ jsonArray.get(1) +"]")
            Log.w("//===========//","================================================")
            Log.i("---","---")

            // ------------------------------------
        }
        catch(e : Exception){
            Log.i("---","---")
            Log.e("//===========//","================================================")
            Log.i("","\n"+"[Test_Kotlin > testMain() 메소드 : 에러 상황 발생]")
            Log.i("","\n"+"[error : "+e.message+"]")
            Log.e("//===========//","================================================")
            Log.i("---","---")
        }
    }
 

[결과 출력]

 

반응형
Comments