본문 바로가기
🍎 iOS

[Swift] 완전 간단한 tutorial -> URLSession으로 json api 에서 파싱까지

by 틴디 2020. 9. 12.
728x90
반응형

구글 검색하다가 무료 json 사이트를 발견했습니다☺️

 

6가지 종류의 api를 제공하기 때문에 공부 용으로 간단하게 구현하고자 할때 사용하면 좋을 것 같아요

 

우선 제가 사용한 것은 'Posts' 입니다.

(지금 포스트 말론의 노래를 들으며 포스트맨으로 포스트 api 구조를 보고 있습니다😎 Postman 강추)

구조를 보면 Dictionary가 Array로 들어오고 있습니다

즉 처음에는 key값이 없어용

 

우선 UI나 기능적인 부분은 신경쓰지 않고 JSON 데이터 부터 파싱해 보죠

 

구조가 간단하기 때문에

구조체도 간단하게 작성해 줍니다.

이때 Decodable 이란 디코딩 인코딩을 생각해 주시면 됩니다

Encodable은 가지고 있는 데이터를 JSON으로 변환해 줄때

Decodable은 JSON으로 부터 가지고 와서 해당 값을 디코딩해 파싱해 주기 위해 사용합니다

Codable은 Decodable & Encodable 이기 때문에 Codable로 적어 주어도 됩니다.

 

if let url = URL(string: "https://jsonplaceholder.typicode.com/posts") {
           URLSession.shared.dataTask(with: url) { data, response, error in
              if let data = data {
                
                do {
                    let resArray: [UserComment] = try
                        JSONDecoder().decode([UserComment].self, from: data)
                    print(resArray)
                    
                } catch let error {
                    print(error)
                }
                
               }
           }.resume()
        }
 }

URLSession을 통해 응답 받은 data를 UserComment 구조체에 맞게 디코딩 해줍니다.

확인해보면

데이터 100개 제대로 들어온 것 확인했으니

UI에 붙여 봐야 겠네요

 


틀리거나 이상한 내용이 있다면 꼭 댓글 부탁드려요☺️

728x90
반응형

댓글