투케이2K

546. (Android/Java) [Jackson] [GSON] 라이브러리 사용해 json 데이터 pretty print 출력 실시 본문

Android

546. (Android/Java) [Jackson] [GSON] 라이브러리 사용해 json 데이터 pretty print 출력 실시

투케이2K 2023. 4. 14. 21:27

[개발 환경 설정]

개발 툴 : 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>>(){});

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

            // [Map To Pretty Json String]
            String prettyJson = new Gson().newBuilder().setPrettyPrinting().create().toJson(map);

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

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

        }
        catch (Exception e){}

 

 

[결과 출력]

 

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

 

반응형
Comments