Swift:
Werken met YAML

Hoe:

Swift kan standaard geen YAML verwerken, dus we moeten een externe bibliotheek zoals Yams gebruiken. Voeg eerst Yams toe aan je Package.swift:

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

Importeer vervolgens Yams en gebruik het om YAML naar een Swift-woordenboek te parseren:

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("Mislukt om YAML-string te parseren.")
}

// Uitvoer:
// ["name": "John Doe", "age": 34, "languages": ["Swift", "Python"]]

Als je YAML wilt genereren vanuit Swift-objecten:

import Yams

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

do {
    let yaml = try Yams.dump(object: woordenboek)
    print(yaml)
} catch {
    print("Mislukt om woordenboek naar YAML te converteren.")
}

// Uitvoer:
// age: 28
// languages:
//   - Java
//   - Kotlin
// name: Jane Smith

Diepgaand

YAML is in 2001 ontstaan als een mensvriendelijk alternatief voor XML. Het lijkt op JSON met minder gebruik van haakjes en betere leesbaarheid voor mensen. Hoewel JSON de voorkeur heeft voor web-API’s, heeft YAML de voorkeur voor configuratiebestanden. Alternatieven zijn onder andere TOML en JSON5, maar YAML’s gebruik van witruimte en de mogelijkheid om regels te becommentariëren maken het wenselijk. Met Yams benadert Swift YAML-verwerking met class mapping, en biedt een balans tussen scriptachtige eenvoud en typeveiligheid.

Zie ook