투케이2K

535. (Android/Java) [유틸 파일] jsonPrettyPrint : json 형식 문자열 데이터 GSON 정렬 출력 본문

Android

535. (Android/Java) [유틸 파일] jsonPrettyPrint : json 형식 문자열 데이터 GSON 정렬 출력

투케이2K 2023. 4. 8. 23:13
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [VOID] jsonPrettyPrint : json 형식 문자열 데이터 GSON 정렬 출력
    // -----------------------------------------------------------------------------------------
    public static String jsonPrettyPrint(String json){

        /**
         * // -----------------------------------------
         * [jsonPrettyPrint 메소드 설명]
         * // -----------------------------------------
         * 1. json 형식 문자열 데이터 GSON 정렬 출력
         * // -----------------------------------------
         * 2. 호출 방식 :

         // [샘플 JSON 선언 실시]
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("name", "twok");
         jsonObject.put("age", "29");


         // [메소드 호출]
         C_Util.jsonPrettyPrint(jsonObject.toString());

         * // -----------------------------------------
         * 3. 리턴 데이터 : JSON 정렬 데이터
         * // -----------------------------------------
         * 4. 라이브러리 설치 : Gson
         * // -----------------------------------------
         * */


        // [리턴 변수 선언]
        String returnData = "";
        String M_LOG = "";


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

            // [널 체크 수행 실시]
            if (C_Util.stringNotNull(json) == true){

                // [JSON 형식으로 파싱 가능 한지 확인]
                if (C_Util.stringJsonObjectEnable(json) == true){

                    // [JSON 으로 변환 실시]
                    JSONObject jsonObject = new JSONObject(json);

                    // [JSON TO MAP 변환 실시 : nameValuePairs 이슈]
                    Map map = C_Util.jsonStringToMap(jsonObject.toString());

                    // [GSON 사용해 jsonString to Map 변환]
                    Gson gson = new Gson().newBuilder().setPrettyPrinting().create();
                    returnData = gson.toJson(map);

                    // [로그 삽입]
                    M_LOG = "[SUCCESS] : JSON PRINT";

                }
                else {
                    M_LOG = "[ERROR] : JSON TYPE ERROR";
                }
            }
            else {
                M_LOG = "[ERROR] : INPUT DATA IS NULL";
            }

        }
        catch (Exception e){
            e.printStackTrace();
            M_LOG = "[EXCEPTION] : " + String.valueOf(e.getMessage());
        }


        // [로그 출력 실시]
        //*
        S_Log.ltd("================================================");
        S_Log.cnt("["+ACTIVITY_NAME+" >> "+C_Util.getNowMethod(1)+" :: json 형식 문자열 데이터 GSON 정렬 출력]");
        S_Log.cnt("-----------------------------------------");
        S_Log.cnt("[INPUT :: "+String.valueOf(json)+"]");
        S_Log.cnt("-----------------------------------------");
        S_Log.cnt("[M_LOG :: "+String.valueOf(M_LOG)+"]");
        S_Log.cnt("-----------------------------------------");
        S_Log.cnt("[RETURN]");
        S_Log.cnt("-----------------------------------------");
        S_Log.cnt("\n"+String.valueOf(returnData)+"\n");
        S_Log.lbd("================================================");
        // */


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

[결과 출력]

 

D///===========//: ================================================
I/: [C_Util >> jsonPrettyPrint :: json 형식 문자열 데이터 GSON 정렬 출력]
I/: -----------------------------------------
I/: [INPUT :: {"name":"twok","age":"29"}]
I/: -----------------------------------------
I/: [M_LOG :: [SUCCESS] : JSON PRINT]
I/: -----------------------------------------
I/: [RETURN]
I/: -----------------------------------------
I/: {
      "name": "twok",
      "age": "29"
    }
D///===========//: ================================================

 

반응형
Comments