[swift] SwiftyJSON을 사용하여 로컬 JSON 파일 처리하기

JSON(JavaScript Object Notation)은 데이터를 저장하고 교환하기 위해 사용되는 경량의 데이터 형식입니다. Swift는 JSON 데이터를 쉽게 처리하기 위해 SwiftyJSON 라이브러리를 제공합니다. 이 라이브러리를 사용하면 로컬에 있는 JSON 파일을 편리하게 처리할 수 있습니다.

SwiftyJSON 라이브러리 설치하기

먼저, SwiftyJSON 라이브러리를 프로젝트에 추가해야 합니다. CocoaPods를 사용하는 경우, Podfile에 다음과 같이 추가하고 pod install 명령을 실행하여 라이브러리를 설치합니다.

pod 'SwiftyJSON'

CocoaPods를 사용하지 않는 경우, SwiftyJSON의 GitHub 저장소에서 최신 버전을 다운로드하고 프로젝트에 추가합니다.

로컬 JSON 파일 읽기

SwiftyJSON을 사용하여 로컬 JSON 파일을 읽으려면 다음과 같은 단계를 따릅니다.

  1. FoundationSwiftyJSON 모듈을 import합니다.
import Foundation
import SwiftyJSON
  1. Bundle 클래스를 사용하여 JSON 파일의 경로를 가져옵니다. JSON 파일은 프로젝트의 번들에 포함되어 있어야 합니다.
guard let path = Bundle.main.path(forResource: "data", ofType: "json") else {
    // 파일을 찾을 수 없음
    return
}
  1. 가져온 경로로부터 JSON 데이터를 로드합니다.
guard let data = try? Data(contentsOf: URL(fileURLWithPath: path)) else {
    // 데이터 로드 실패
    return
}
  1. SwiftyJSON을 사용하여 데이터를 JSON 객체로 변환합니다.
let json = try? JSON(data: data)

JSON 데이터 읽기

SwiftyJSON을 사용하여 JSON 데이터를 읽는 방법은 간단합니다. 예를 들어, JSON 파일에 “name”이라는 키가 있는 경우 다음과 같이 값을 읽을 수 있습니다.

if let name = json["name"].string {
    print("이름: \(name)")
}

JSON 객체 내부에 객체 또는 배열이 포함된 경우, 인덱스를 사용하여 해당 데이터에 접근할 수 있습니다. 예를 들어, JSON 파일에 “fruits”라는 배열이 있다면 다음과 같이 접근할 수 있습니다.

if let fruits = json["fruits"].array {
    for fruit in fruits {
        if let name = fruit["name"].string {
            print("과일 이름: \(name)")
        }
    }
}

SwiftyJSON은 간편하게 JSON 데이터를 다룰 수 있는 다양한 메서드와 속성을 제공합니다. 필요에 따라 공식 문서를 참고하여 더 자세한 기능을 사용할 수 있습니다.

참고 자료