Swift:
Làm việc với YAML

Cách thực hiện:

Swift không có khả năng xử lý YAML một cách tự nhiên, vì vậy chúng ta cần sử dụng một thư viện bên thứ ba như Yams. Đầu tiên, thêm Yams vào Package.swift của bạn:

dependencies: [
    .package(url: "https://github.com/jpsim/Yams.git", from: "4.0.0")
]

Sau đó, nhập Yams và sử dụng nó để phân tích YAML thành một dictionary Swift:

import Yams

let yamlString = """
name: John Doe
age: 34
languages:
  - Swift
  - Python
"""

do {
    if let data = try Yams.load(yaml: yamlString) as? [String: Any] {
        print(data)
    }
} catch {
    print("Không thể phân tích chuỗi YAML.")
}

// Đầu ra:
// ["name": "John Doe", "age": 34, "languages": ["Swift", "Python"]]

Nếu bạn muốn sinh ra YAML từ đối tượng Swift:

import Yams

let dictionary: [String: Any] = [
    "name": "Jane Smith",
    "age": 28,
    "languages": ["Java", "Kotlin"]
]

do {
    let yaml = try Yams.dump(object: dictionary)
    print(yaml)
} catch {
    print("Không thể chuyển dictionary thành YAML.")
}

// Đầu ra:
// age: 28
// languages:
//   - Java
//   - Kotlin
// name: Jane Smith

Sâu hơn

YAML xuất phát từ năm 2001 như một lựa chọn thân thiện với con người thay thế cho XML. Nó giống với JSON nhưng sử dụng ít ngoặc và dễ đọc hơn cho con người. Trong khi JSON là lựa chọn hàng đầu cho các API web, YAML được ưa chuộng cho các tệp cấu hình. Các lựa chọn thay thế bao gồm TOML và JSON5, nhưng việc sử dụng khoảng trắng của YAML và khả năng bình luận các dòng khiến nó trở nên đáng mong muốn. Với Yams, Swift tiếp cận việc xử lý YAML với việc ánh xạ lớp, cung cấp sự cân bằng giữa sự đơn giản giống như kịch bản và an toàn kiểu.

Xem thêm