• Feed
  • Explore
  • Ranking
/
/
    📱 iOS

    [iOS] API 응답을 Swift Codable 구조체로 변환하는 방법

    Swiftios
    지
    지성
    2025.02.19
    ·
    2 min read

    API 요청 후 서버에서 JSON 데이터를 응답받으면, Swift에서 Codable을 사용해 간편하게 변환할 수 있다.

    이 글에서는 Codable을 활용하여 JSON 데이터를 Swift 구조체로 변환하는 방법을 정리한다.


    서버에서 받은 JSON 데이터를 Swift에서 쉽게 다룰 수 있도록 구조체로 변환해야 한다.

    {
        "id": 1,
        "username": "춘장",
        "email": "meow@example.com"
    }

    Codable을 활용한 JSON 디코딩

    1. Codable 구조체 정의

      • Codable은 Encodable과 Decodable을 포함하는 프로토콜

      • Decodable을 활용해 JSON → Swift 구조체 변환 가능

      struct User: Codable {
          let id: Int
          let username: String
          let email: String
      }
    2. JSON 디코딩

      let jsonData = """
      {
          "id": 1,
          "username": "춘장",
          "email": "meow@example.com"
      }
      """.data(using: .utf8)!
      
      do {
          let user = try JSONDecoder().decode(User.self, from: jsonData)
          print(user.username) // 춘장
      } catch {
          print("Decoding failed: \(error)")
      }
    3. JSON 인코딩

      let user = User(id: 1, username: "춘장", email: "meow@example.com")
      
      do {
          let jsonData = try JSONEncoder().encode(user)
          let jsonString = String(data: jsonData, encoding: .utf8)
          print(jsonString!)
      } catch {
          print("Encoding failed: \(error)")
      }






    - 컬렉션 아티클