Swift:
JSON과 함께 일하기

어떻게 하나:

Swift는 Codable 프로토콜을 통해 JSON 파싱을 간단하게 만듭니다. 다음은 JSON을 Swift 객체로 디코드하는 방법입니다:

import Foundation

// Codable을 준수하는 모델 정의
struct User: Codable {
    var name: String
    var age: Int
}

// JSON 문자열
let jsonString = """
{
    "name": "John Doe",
    "age": 30
}
"""

// JSON 문자열을 Data로 변환
if let jsonData = jsonString.data(using: .utf8) {
    // JSON 데이터를 User 객체로 디코드
    do {
        let user = try JSONDecoder().decode(User.self, from: jsonData)
        print("이름: \(user.name), 나이: \(user.age)")
    } catch {
        print("JSON 디코딩 오류: \(error)")
    }
}

샘플 출력:

이름: John Doe, 나이: 30

심층 분석

JSON(JavaScript Object Notation)은 Douglas Crockford가 명시한 이후 2000년대 초반부터 광범위하게 채택되었습니다. 더 간단한 문법과 더 나은 성능 때문에 많은 사용 사례에서 XML을 대체했습니다. Swift의 Codable이 JSON을 다루기 위한 가장 선호되는 방법이지만, JSONSerialization과 같은 대안들이 Codable-호환되지 않는 타입을 다룰 때 존재합니다. 내부적으로, Codable은 더 낮은 수준의 파싱을 추상화하고 직렬화/역직렬화를 매끄럽게 만듭니다.

참고

  • 공식 Swift 블로그에서 JSON 및 Swift에 대해 더 알아보세요: Swift.org
  • Codable 문서를 확인해 보세요: Swift Codable
  • 복잡한 JSON 구조체를 다루려면 GitHub에서 제공하는 SwiftyJSON과 같은 제3자 라이브러리를 고려하세요.