Swift:
עבודה עם TOML

איך ל:

להתחיל, אתם צריכים מפענח TOML. ב-Swift אין מפענח מובנה, אז בואו נשתמש ב-TOMLDecoder. התקינו אותו דרך Swift Package Manager ואז תעשו סידור ופירוק של TOML בקלות.

import TOMLDecoder

let tomlString = """
title = "TOML Example"

[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00Z
"""

struct Config: Codable {
    let title: String
    let owner: Owner
}

struct Owner: Codable {
    let name: String
    let dob: Date
}

let decoder = TOMLDecoder()
if let configData = tomlString.data(using: .utf8) {
    do {
        let config = try decoder.decode(Config.self, from: configData)
        print("Title: \(config.title), Owner: \(config.owner.name), DOB: \(config.owner.dob)")
    } catch {
        print("שגיאה בניתוח TOML: \(error)")
    }
}

הקוד הזה מפיק:

Title: TOML Example, Owner: Tom Preston-Werner, DOB: 1979-05-27 07:32:00 +0000

עיון מעמיק

TOML תוכנן על ידי טום פרסטון-ורנר, שותף מייסד של GitHub, כחלופה ידידותית יותר לאנשים לפורמטים כמו JSON או YAML. המטרה שלו היא להגיע לבהירות, להקטין את הסיכויים לפרשנות שגויה על ידי בן אדם או מכונה. בנוגע לחלופות, YAML ו-JSON הם החשודים הרגילים, עם YAML המוטה יותר לקריאות על ידי בני אדם ו-JSON כאפשרות היותר פשוטה הידידותית למכונה. כשעובדים עם TOML ב-Swift, אין לנו מפענח מקורי. עם זאת, ספריות צד שלישי כמו TOMLDecoder מקלות על המרה קלה בין מחרוזות TOML לסוגים ב-Swift, במיוחד דרך פרוטוקולי Codable שהוצגו ב-Swift 4 ששיפרו את הסידור.

ראו גם