투케이2K

626. (Android/Java) [유틸 파일] getObjectToJsonPrettyString : JSON 정렬 후 문자열 데이터 반환 - Gson toJson 본문

Android

626. (Android/Java) [유틸 파일] getObjectToJsonPrettyString : JSON 정렬 후 문자열 데이터 반환 - Gson toJson

투케이2K 2023. 8. 18. 23:22

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

 

    // -----------------------------------------------------------------------------------------
    // TODO [SEARCH FAST] : [RETURN] getObjectToJsonPrettyString : JSON 정렬 후 문자열 데이터 반환
    // -----------------------------------------------------------------------------------------
    public static String getObjectToJsonPrettyString(Object object) {

        /**
         * // -----------------------------------------
         * [getObjectToJsonPrettyString 메소드 설명]
         * // -----------------------------------------
         * 1. getObjectToJsonPrettyString : JSON 정렬 후 문자열 데이터 반환
         * // -----------------------------------------
         * 2. 호출 방법 :
         * HashMap map = new HashMap<String, Object>();
         * map.put("name", "TWOK");
         *
         * C_Util.getObjectToJsonPrettyString(map);
         * // -----------------------------------------
         * 3. 리턴 데이터 :
         * {
         *   "name": "TWOK"
         * }
         * // -----------------------------------------
         * 4. 참고 Gson 라이브러리 설치 :
         *
         * implementation 'com.google.code.gson:gson:2.8.6'
         * // -----------------------------------------
         * */


        // [변수 선언 실시]
        String returnData = "";
        String m_log = "";
        boolean errorFlag = false;


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

            // [1]. 인풋 값 널 체크 수행
            if (object == null){
                m_log = "[ERROR] : Input Data Is Null";
                errorFlag = true;
            }


            // [2]. Gson 사용해 변경 수행
            try {

                if (errorFlag == false){

                    // [3]. [리턴 변수에 삽입]
                    returnData = String.valueOf(new Gson().newBuilder().setPrettyPrinting().create().toJson(object));
                    if (C_Util.stringNotNull(returnData) == true){
                        m_log = "[SUCCESS] : Json String";
                    }
                    else {
                        returnData = "";
                        m_log = "[ERROR] : Return Data Is Null";
                    }

                }

            }
            catch (Exception ex){}

        }
        catch (Exception e) {
            S_Log._printStackTrace_(null, S_FinalMsg.LOG_BUG_STATE, null, e);

            m_log = "[Exception] : " + String.valueOf(e.getMessage());
            errorFlag = true;
        }


        // [로그 출력]
        /*
        // ===============================================================
        S_Log._D_("JSON 정렬 후 문자열 데이터 반환", new String[]{
                "INPUT :: " + String.valueOf(object.toString()),
                "M_LOG :: " + String.valueOf(m_log),
                "RETURN :: " + String.valueOf(returnData)
        });
        // ===============================================================
        // */


        // [리턴 데이터 반환 실시]
        return returnData;
    }
​

 

반응형
Comments