투케이2K

545. (Android/Java) [Jackson] 라이브러리 사용해 json to map 변환 실시 본문

Android

545. (Android/Java) [Jackson] 라이브러리 사용해 json to map 변환 실시

투케이2K 2023. 4. 14. 21:23
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Java

 

[소스 코드]

        try {

            /**
             * -------------------------------------
             * TODO [요약 설명]
             * -------------------------------------
             * 1. Jackson : Java Object 를 JSON으로 변환하거나 JSON 을 Java Object 로 변환하는데 사용할 수 있는 Java 라이브러리입니다
             * -------------------------------------
             * 2. 필요 라이브러리 설치 :
             *
             * implementation 'com.fasterxml.jackson.core:jackson-core:2.13.4'
             * implementation 'com.fasterxml.jackson.core:jackson-annotations:2.13.4'
             * implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.4'
             * -------------------------------------
             * 3. 참고 사이트 :
             *
             * https://github.com/FasterXML/jackson
             *
             * https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core
             * -------------------------------------
             * */

            // -----------------------------------------------

            // [샘플 JSON 선언 실시]
            JSONObject sample = new JSONObject();

            JSONObject user = new JSONObject();
            user.put("a", "twok");
            user.put("b", 29);
            user.put("c", 65.3);
            user.put("d", 0.8);
            user.put("e", -1);
            user.put("f", -1);
            user.put("g", -5.3);
            user.put("h", -6.7);

            sample.put("user", user);

            // -----------------------------------------------

            // [String to Json Node]
            ObjectMapper mapper = new ObjectMapper();
            JsonNode jsonNode = mapper.readTree(sample.toString());

            // -----------------------------------------------

            // [Json Node to Map]
            Map<String, Object> map = mapper.convertValue(jsonNode, new TypeReference<Map<String, Object>>(){});

            // -----------------------------------------------

            // [로그 출력 실시]
            Log.i("---", "---");
            Log.d("//===========//", "================================================");
            Log.i("", "\n" + "[" + String.valueOf(ACTIVITY_NAME) + " >> onCreate() :: 로그 출력 실시]");
            Log.i("", "\n" + "[map :: "+map.toString()+"]");
            Log.d("//===========//", "================================================");
            Log.i("---", "---");

        }
        catch (Exception e){}
 

[결과 출력]

 

D///===========//: ================================================
I/: [A_Intro >> onCreate() :: 로그 출력 실시]
I/: [map :: {user={a=twok, b=29, c=65.3, d=0.8, e=-1, f=-1, g=-5.3, h=-6.7}}]
D///===========//: ================================================

 

반응형
Comments