투케이2K

30. (swift/xcode) Json 형식 String 데이터를 딕셔너리 (Dictionary) 변환 및 JsonObject 로 재변환 실시 본문

Swift

30. (swift/xcode) Json 형식 String 데이터를 딕셔너리 (Dictionary) 변환 및 JsonObject 로 재변환 실시

투케이2K 2021. 11. 28. 14:25
반응형

[개발 환경 설정]

개발 툴 : XCODE

개발 언어 : SWIFT

 

[소스 코드]

    // [테스트 메인 함수]
    func testMain() {
        
        // [초기 json 형식 문자열 선언 실시]
        let strData = "{\"name\" : \"twok\", \"age\" : 28}"
        print("")
        print("===============================")
        print("[ViewController >> Json 형식 String 문자열 확인 실시]")
        print("strData : ", strData)
        print("===============================")
        print("")
        
        
        // [json 형식 문자열을 딕셔너리 형태로 변경 실시]
        var dicData : Dictionary<String, Any> = [String : Any]()
        do {
            // 딕셔너리에 데이터 저장 실시
            dicData = try JSONSerialization.jsonObject(with: Data(strData.utf8), options: []) as! [String:Any]
        } catch {
            print(error.localizedDescription)
        }
        print("")
        print("===============================")
        print("[ViewController >> Json String to Dictionary]")
        print("dicData : ", dicData)
        print("name : ", dicData["name"] ?? "")
        print("age : ", dicData["age"] ?? "")
        print("===============================")
        print("")
        
        
        // [딕셔너리 데이터를 다시 json object 형태로 변환 실시]
        var jsonObj : String = ""
        do {
            let jsonCreate = try JSONSerialization.data(withJSONObject: dicData, options: .prettyPrinted)
            
            // json 데이터를 변수에 삽입 실시
            jsonObj = String(data: jsonCreate, encoding: .utf8) ?? ""
        } catch {
            print(error.localizedDescription)
        }
        print("")
        print("===============================")
        print("[ViewController >> Dictionary to Json Object]")
        print("jsonObj : ", jsonObj)
        print("===============================")
        print("")
    }
 

[결과 출력]


반응형
Comments