이번 글에서는 SwiftyJSON 라이브러리를 사용하여 Swift 프로젝트에서 JSON 데이터를 SQLite 데이터베이스에 저장하는 방법을 알아보겠습니다.
1. SwiftyJSON 라이브러리 추가하기
SwiftyJSON은 Swift에서 JSON 데이터를 다루기 위한 간편하고 강력한 라이브러리입니다. 먼저 프로젝트에 SwiftyJSON을 추가하기 위해 Cocoapods를 사용하겠습니다. Podfile
에 다음과 같이 라이브러리를 추가합니다.
pod 'SwiftyJSON'
그리고 터미널에서 다음 명령을 실행하여 라이브러리를 설치합니다.
pod install
2. SQLite 데이터베이스 설정하기
SQLite를 사용하기 위해 FMDB
라이브러리를 사용하겠습니다. Podfile
에 다음과 같이 라이브러리를 추가합니다.
pod 'FMDB'
라이브러리를 설치한 후 AppDelegate.swift
파일에서 SQLite 데이터베이스를 설정합니다.
import UIKit
import FMDB
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var databasePath: String!
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// SQLite 데이터베이스 파일 경로 설정
let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
self.databasePath = documentsDirectory.appendingPathComponent("myDatabase.db").path
return true
}
// ...
}
3. SwiftyJSON으로 JSON 데이터 파싱하기
이제 SwiftyJSON을 사용하여 JSON 데이터를 파싱하는 방법을 알아보겠습니다. 예를 들어, 다음과 같은 JSON 데이터가 있다고 가정해보겠습니다.
{
"name": "John Doe",
"age": 25,
"email": "john.doe@example.com"
}
위의 JSON 데이터를 파싱하기 위해 다음과 같은 코드를 작성합니다.
import SwiftyJSON
// JSON 데이터를 파싱하는 예제
let jsonString = """
{
"name": "John Doe",
"age": 25,
"email": "john.doe@example.com"
}
"""
if let data = jsonString.data(using: .utf8) {
let json = JSON(data: data)
let name = json["name"].stringValue
let age = json["age"].intValue
let email = json["email"].stringValue
// 파싱한 데이터를 SQLite에 저장하는 코드 작성
}
4. SQLite에 데이터 저장하기
마지막으로 SwiftyJSON을 사용하여 파싱한 데이터를 SQLite 데이터베이스에 저장하는 방법을 알아보겠습니다. AppDelegate.swift
파일에 다음 함수를 추가하여 데이터를 저장하는 코드를 작성합니다.
func saveDataToDatabase(name: String, age: Int, email: String) {
let database = FMDatabase(path: databasePath)
if database.open() {
let insertQuery = "INSERT INTO users (name, age, email) VALUES (?, ?, ?)"
let success = database.executeUpdate(insertQuery, withArgumentsIn: [name, age, email])
if success {
print("Data saved successfully!")
} else {
print("Error saving data!")
}
database.close()
}
}
위의 코드에서는 users
라는 테이블에 name
, age
, email
컬럼을 가진 데이터를 저장하는 예제입니다.
이제 SwiftyJSON으로 파싱한 데이터를 SQLite에 저장하려면 다음과 같이 코드를 작성합니다.
// SwiftyJSON으로 파싱한 데이터를 SQLite에 저장하는 예제
let name = json["name"].stringValue
let age = json["age"].intValue
let email = json["email"].stringValue
saveDataToDatabase(name: name, age: age, email: email)
마무리
이번에는 SwiftyJSON을 사용하여 JSON 데이터를 SQLite 데이터베이스에 저장하는 방법을 알아보았습니다. SwiftyJSON을 사용하면 간편하게 JSON 데이터를 파싱하고, FMDB를 사용하여 SQLite 데이터베이스에 데이터를 저장할 수 있습니다. 이를 바탕으로 다양한 Swift 프로젝트에서 JSON 데이터를 다룰 수 있습니다.