Notice
Recent Posts
Recent Comments
Link
투케이2K
25. (swift/xcode) jsonArray in jsonObject 형식 데이터 생성 및 파싱 수행 실시 본문
[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT
[소스 코드]
// [테스트 메인 함수 정의 실시]
func testMain() {
print("")
print("===============================")
print("[testMain : Program Start]")
print("===============================")
print("")
// MARK: - [jsonArray - jsonObject 형식 데이터 생성]
var _array: Array<Any> = [] // 배열 선언
for i in stride(from: 1, through: 3, by: 1) { // 데이터 삽입 실시
// 딕셔너리 사용해 jsonObject 생성
let _dic : [String : Any] = [
"name" : String(i)
] as Dictionary
// 배열에 딕셔너리 데이터 삽입
_array.append(_dic)
}
var jsonArray : String = "" // json 데이터를 저장할 변수 선언
do {
// json 데이터 생성 실시
let jsonCreate = try JSONSerialization.data(withJSONObject: _array, options: .prettyPrinted)
jsonArray = String(data: jsonCreate, encoding: .utf8) ?? ""
print("")
print("===============================")
print("[testMain : 생성 json 데이터 확인]")
print("data : ", jsonArray)
print("===============================")
print("")
} catch {
print(error.localizedDescription)
}
// MARK: - [jsonArray - jsonObject 형식 데이터 파싱]
do {
// jsonArray - jsonObject 형식 데이터를 Array 와 Dictionary 사용해서 받음
let _parsingArray = try JSONSerialization.jsonObject(with: Data(jsonArray.utf8), options: []) as! Array<Dictionary<String, Any>>
print("")
print("===============================")
print("[testMain : 파싱 전체 데이터 확인]")
print("data : ", _parsingArray)
print("===============================")
print("")
// for 문을 돌면서 데이터 확인 실시
for i in stride(from: 0, through: _parsingArray.count-1, by: 1) {
let jsonObj : Dictionary<String, Any> = _parsingArray[i] // 배열 각 번지 지정
// 딕셔너리에서 특정 key 값이 포함된 지 확인 실시
if jsonObj.keys.contains("name") == true {
print("")
print("===============================")
print("[testMain : 파싱 개별 데이터 확인]")
print("name : ", jsonObj["name"] as! String)
print("===============================")
print("")
}
}
}
catch {
print(error.localizedDescription)
}
}
[결과 출력]
반응형
'Swift' 카테고리의 다른 글
Comments