Notice
Recent Posts
Recent Comments
Link
투케이2K
75. (swift/xcode) [유틸 파일] JsonArray JsonObject 형태 데이터를 Array Dictionary 형태로 변환 실시 본문
Swift
75. (swift/xcode) [유틸 파일] JsonArray JsonObject 형태 데이터를 Array Dictionary 형태로 변환 실시
투케이2K 2022. 4. 21. 20:22[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[소스 코드]
// MARK: - [배열 + 딕셔너리 데이터를 JsonArray + JsonObject 형태 String 문자열 데이터 반환 실시]
func arrayDic_To_jsonArrayInJsonObj_String(list: Array<Any>) -> String {
/*
// -----------------------------------------
[arrayDic_To_jsonArrayInJsonObj_String 메소드 설명]
// -----------------------------------------
1. 배열 + 딕셔너리 데이터를 JsonArray + JsonObject 형태 String 문자열 데이터 반환 실시
// -----------------------------------------
2. 호출 방법 :
// [배열 선언]
var anyArray : Array<Any> = []
// [딕셔너리 선언]
var dicData : Dictionary<String, Any> = [String : Any]()
dicData["name"] = "TWOK"
dicData["age"] = 29
// [배열에 딕셔너리 객체 삽입 실시]
anyArray.append(dicData)
// [유틸 파일 호출 실시]
C_Util().arrayDic_To_jsonArrayInJsonObj_String(list: anyArray)
// -----------------------------------------
3. 리턴 반환 :
return :: [
{
"age" : 29,
"name" : "TWOK"
}
]
// -----------------------------------------
*/
// [초기 리턴 데이터 변수 선언 실시]
var returnData = ""
// [인풋 데이터 널 체크 수행 실시]
if list != nil && list.count>0 && list.isEmpty == false {
do {
// [json 데이터 생성 실시]
let jsonCreate = try JSONSerialization.data(withJSONObject: list, options: .prettyPrinted)
returnData = String(data: jsonCreate, encoding: .utf8) ?? ""
} catch {
print("")
print("====================================")
print("[C_Util >> arrayDic_To_jsonArrayInJsonObj_String() :: [배열 + 딕셔너리] >> [JsonArray + JsonObject] 형태 String 문자열 반환]")
print("-------------------------------")
print("catch :: \(error.localizedDescription)")
print("====================================")
print("")
}
}
// [로그 출력 실시]
print("")
print("====================================")
print("[C_Util >> arrayDic_To_jsonArrayInJsonObj_String() :: [배열 + 딕셔너리] >> [JsonArray + JsonObject] 형태 String 문자열 반환]")
print("-------------------------------")
print("input :: \(list.description)")
print("-------------------------------")
print("return :: \(returnData)")
print("====================================")
print("")
// [리턴 데이터 반환 실시]
return returnData
}
// MARK: - [JsonArray + JsonObject 형태 String 데이터를 배열 + 딕셔너리 데이터로 반환 실시]
func jsonArrayInJsonObj_To_arrayDic(string: String) -> Array<Dictionary<String, Any>> {
/*
// -----------------------------------------
[jsonArrayInJsonObj_To_arrayDic 메소드 설명]
// -----------------------------------------
1. JsonArray + JsonObject 형태 String 데이터를 배열 + 딕셔너리 데이터로 반환 실시
// -----------------------------------------
2. 호출 방법 :
// [jsonArray 형식 문자열 선언 실시]
let jsonArrayString = "[\n" +
" {\n" +
" \"age\" : 29,\n" +
" \"name\" : \"TWOK\"\n" +
" }\n" +
"]"
// [유틸 파일 호출 실시]
C_Util().jsonArrayInJsonObj_To_arrayDic(string: jsonArrayString)
// -----------------------------------------
3. 리턴 반환 :
return :: [["name": TWOK, "age": 29]]
// -----------------------------------------
*/
// [초기 리턴 데이터 변수 선언 실시]
var returnData : Array<Dictionary<String, Any>> = []
// [인풋 데이터 널 체크 수행 실시]
if string != nil
&& string.count>0
&& string != ""
&& string.trimmingCharacters(in: .whitespacesAndNewlines) != ""
&& string.trimmingCharacters(in: .whitespacesAndNewlines) != "null"
&& string.isEmpty == false {
do {
// [jsonArray - jsonObject 형식 데이터를 Array 와 Dictionary 사용해서 받음]
returnData = try JSONSerialization.jsonObject(with: Data(string.utf8), options: []) as! Array<Dictionary<String, Any>>
}
catch {
print("")
print("====================================")
print("[C_Util >> jsonArrayInJsonObj_To_arrayDic() :: [JsonArray + JsonObject] 형태 String 데이터를 [배열 + 딕셔너리] 데이터로 반환]")
print("-------------------------------")
print("catch :: \(error.localizedDescription)")
print("====================================")
print("")
}
}
// [로그 출력 실시]
print("")
print("====================================")
print("[C_Util >> jsonArrayInJsonObj_To_arrayDic() :: [JsonArray + JsonObject] 형태 String 데이터를 [배열 + 딕셔너리] 데이터로 반환]")
print("-------------------------------")
print("input :: \(string)")
print("-------------------------------")
print("return :: \(returnData.description)")
print("====================================")
print("")
// [리턴 데이터 반환 실시]
return returnData
}
[결과 출력]
반응형
'Swift' 카테고리의 다른 글
Comments