공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
지난 포스팅에서는 XML파싱하는 방법에 대해 알아보았는데요.
이번 포스팅에서는 JSON 파싱하는 방법에 대해 공부합니다.
먼저 데이터를 담고 있는 .json 파일이 있어야겠죠?
xml 때와 마찬가지로
https://sam.ple.com/data/sample.json
처럼 xml 파일이 존재한다고 가정해보겠습니다.
{ "school": { "data": [ { "grade": "1학년", "classes": "5학급", "count": "130명" }, { "grade": "2학년", "classes": "5학급", "count": "130명" }, { "grade": "3학년", "classes": "4학급", "count": "130명" }, { "grade": "4학년", "classes": "4학급", "count": "130명" }, { "grade": "5학년", "classes": "4학급", "count": "130명" } ] } } |
예제 코드도 지난 포스팅의 코드를 가져다가 수정하였습니다.
JSON 방식으로 파싱을 할 경우에는 별도로 에러 처리가 필요합니다.
그 부분까지 함께 다룹니다.
import UIKit class ViewController : UIViewController { var datalist = NSDictionary() override func viewDidLoad() { super.viewDidLoad() let baseURL = URL(string: "https://sam.ple.com/data/sample.json" ) do { self.datalist = try JSONSerialization.jsonObject(with:Data(contentsOf : baseURL!), options: JSONSerialization.ReadingOptions.mutableContainers) as! NSDictionary } catch { print("Error loading Data") } print(self.datalist) let className = "\(((datalist["school"] as! NSDictionary)["data"] as! NSArray))" print("className : \(className)") //((datalist["school"] as! NSDictionary)["data"] as! NSArray) 얘를 활용해서 필요한 값들을 // 필요한 곳에 꺼내어 사용하시면 됩니다. } 출처: http://altongmon.tistory.com/366 [IOS를 Java] |
JSONObject 의 반환 값은 NSDictionary 또는 NSArray 타입으로만 강제 타입 변환이 가능해요.
print() 문안의 내용이 찍히면
key : value 형식으로 출력이 되는데요.
키, 값, 키, 값 형식으로 되어 있기 때문에 타고 들어가면서 데이터를 가져오면 됩니다.
위 .json 파일에서는 grade, classes, count 의 값들을 가져와야겠죠?
위에서 너무 간단하게 설명했는데요 ㅎㅎ
좀 더 공부해서 추후에 자세히 올려보겠습니다
'IOS(iPhone)' 카테고리의 다른 글
IOS UIView 에 border 추가하기, 버튼, 레이블 등에 테투리 표시하는 방법 (0) | 2017.08.16 |
---|---|
ios swift3 alertDialog 경고창띄우는 방법 (0) | 2017.08.10 |
ios swift3 XMLParsing XML 파싱하는 방법 (0) | 2017.08.08 |
ios swift3 ImageView 이미지 동그랗게 만들기 (0) | 2017.08.07 |
ios swift3 하드코딩으로 UI 구성할 때 (0) | 2017.07.27 |