투케이2K

61. (swift/xcode) string 문자열 데이터 Json Object 형식으로 변경 가능 한지 체크 실시 본문

Swift

61. (swift/xcode) string 문자열 데이터 Json Object 형식으로 변경 가능 한지 체크 실시

투케이2K 2022. 3. 27. 13:20

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // MARK: - [String 문자열 데이터 Json Object 형식으로 변경 가능 한지 체크 실시]
    func stringJsonObjectEnable(str: String) -> Bool {
        
        /*
        // -----------------------------------------
        [stringJsonObjectEnable 메소드 설명]
        // -----------------------------------------
        1. String 문자열 데이터 Json Object 형식으로 변경 가능 한지 체크 실시
        // -----------------------------------------
        2. 호출 방법 :
         let jsonData = "{\n" +
                         "  \"name\" : \"투케이\",\n" +
                         "  \"age\" : 29,\n" +
                         "  \"color\" : [\"red\", \"yellow\"]\n" +
                         "}";
         
         C_Util().stringJsonObjectEnable(str: jsonData)
        // -----------------------------------------
        3. 리턴 반환 : Json Object 형식으로 변경 가능한 경우 true / 아닌 경우 false
        // -----------------------------------------
        */
        
        // [초기 리턴 데이터 변수 선언 실시]
        var returnData = false
        
        // [인풋 데이터 널 체크 수행 실시]
        if str != nil
            && str.count>0
            && str != ""
            && str.trimmingCharacters(in: .whitespacesAndNewlines) != ""
            && str.trimmingCharacters(in: .whitespacesAndNewlines) != "null"
            && str.isEmpty == false {
            
            // [딕셔너리 객체 생성 실시 및 json 데이터 받음]
            var jsonObj : Dictionary<String, Any> = [String : Any]()
            do {
                // [딕셔너리에 데이터 저장 실시]
                jsonObj = try JSONSerialization.jsonObject(with: Data(str.utf8), options: []) as! [String:Any]
                
                // [리턴 결과 삽입 실시]
                returnData = true
            } catch {
                print("")
                print("====================================")
                print("[C_Util >> stringJsonObjectEnable() :: string 문자열 데이터 Json Object 형식으로 변경 가능 한지 체크 실시]")
                print("-------------------------------")
                print("catch :: ", error.localizedDescription)
                print("====================================")
                print("")
            }
        }
        
        // [로그 출력 실시]
        print("")
        print("====================================")
        print("[C_Util >> stringJsonObjectEnable() :: string 문자열 데이터 Json Object 형식으로 변경 가능 한지 체크 실시]")
        print("-------------------------------")
        print("input [str] :: \(str)")
        print("-------------------------------")
        print("return :: \(returnData)")
        print("====================================")
        print("")
        
        // [리턴 데이터 반환 실시]
        return returnData
    }
 

[결과 출력]

 

 

반응형
Comments