Swift:
עבודה עם JSON
איך ל:
Swift מפשטת את ניתוח ה-JSON עם הפרוטוקול Codable
. הנה איך לפענח JSON לאובייקט של Swift:
import Foundation
// הגדרת מודל שמיישם את Codable
struct User: Codable {
var name: String
var age: Int
}
// מחרוזת JSON
let jsonString = """
{
"name": "John Doe",
"age": 30
}
"""
// המרת מחרוזת JSON ל-Data
if let jsonData = jsonString.data(using: .utf8) {
// פענוח נתוני JSON לאובייקט משתמש
do {
let user = try JSONDecoder().decode(User.self, from: jsonData)
print("Name: \(user.name), Age: \(user.age)")
} catch {
print("Error decoding JSON: \(error)")
}
}
דוגמא לפלט:
Name: John Doe, Age: 30
צלילה עמוקה
JSON (פורמט אובייקטים של JavaScript) זכה לקבלת פנים רחבה מאז שנות ה-2000 המוקדמות, לאחר שדאגלס קרוקפורד קבע אותו. הוא החליף את XML במקרים רבים בשל התחביר הפשוט יותר והביצועים הטובים יותר. בעוד ש-Codable
של Swift הוא הבחירה הראשונה ל-JSON, קיימות אלטרנטיבות כמו JSONSerialization
למקרים בהם מתמודדים עם סוגים שאינם תואמים ל-Codable. מאחורי הקלעים, Codable
ממספר את ניתוח הרמה הנמוכה והופך את הסריאליזציה/דה-סריאליזציה לחלקה.
ראה גם
- חקור עוד על JSON ו-Swift בבלוג הרשמי של Swift: Swift.org
- בדוק את התיעוד של
Codable
: Swift Codable - למבנים מורכבים של JSON, שקול להשתמש בספריות צד שלישי כמו SwiftyJSON, הזמינות ב-GitHub.