[swift] SwiftyJSON을 사용하여 JSON 데이터를 CSV로 변환하기

이번 포스트에서는 SwiftyJSON 라이브러리를 사용하여 JSON 데이터를 CSV (Comma Separated Values) 형식으로 변환하는 방법을 알아보겠습니다.

SwiftyJSON이란?

SwiftyJSON은 Swift에서 JSON 데이터를 쉽게 다룰 수 있도록 도와주는 라이브러리입니다. JSON 데이터를 객체로 변환하여 간편한 접근과 수정을 가능하게 해줍니다.

JSON 데이터 가져오기

먼저, JSON 데이터를 가져와서 SwiftyJSON을 사용할 준비를 해야합니다. 아래는 예시 JSON 데이터입니다.

let json = """
{
    "employees": [
        {
            "name": "John",
            "age": 30,
            "position": "Developer"
        },
        {
            "name": "Jane",
            "age": 25,
            "position": "Designer"
        },
        {
            "name": "Mike",
            "age": 35,
            "position": "Manager"
        }
    ]
}
"""

SwiftyJSON 객체 생성하기

JSON 데이터를 CSV로 변환하려면 SwiftyJSON 객체를 만들어야합니다. 아래는 SwiftyJSON 객체를 생성하는 방법입니다.

import SwiftyJSON

let jsonData = json.data(using: .utf8)!
let swiftyJson = try! JSON(data: jsonData)

JSON 데이터 탐색하기

SwiftyJSON을 사용하여 JSON 데이터를 탐색하고 필요한 정보를 추출할 수 있습니다. 아래는 예시입니다.

for (_, employee) in swiftyJson["employees"] {
    let name = employee["name"].stringValue
    let age = employee["age"].intValue
    let position = employee["position"].stringValue
    
    // CSV로 변환하는 로직 추가
}

CSV로 변환하기

JSON 데이터를 CSV로 변환하기 위해서는 가져온 정보를 적절한 형식으로 가공해야합니다. 아래는 CSV로 변환하는 방법입니다.

var csvString = "Name,Age,Position\n"

for (_, employee) in swiftyJson["employees"] {
    let name = employee["name"].stringValue
    let age = employee["age"].intValue
    let position = employee["position"].stringValue
    
    let employeeData = "\(name),\(age),\(position)\n"
    csvString += employeeData
}

print(csvString)

위의 코드는 CSV 형식으로 변환된 문자열을 출력하는 예시입니다.

결론

이번 포스트에서는 SwiftyJSON을 사용하여 JSON 데이터를 CSV로 변환하는 방법을 알아보았습니다. SwiftyJSON을 사용하면 Swift에서 JSON 데이터를 쉽게 조작할 수 있으며, CSV 형식으로 변환하여 다양한 목적에 활용할 수 있습니다.

참고 자료