Swift:
Lavorare con JSON
Come fare:
Swift rende l’analisi di JSON diretta con il protocollo Codable
. Ecco come decodificare JSON in un oggetto Swift:
import Foundation
// Definisci un modello che si conforma a Codable
struct User: Codable {
var name: String
var age: Int
}
// Stringa JSON
let jsonString = """
{
"name": "John Doe",
"age": 30
}
"""
// Converti la stringa JSON in Data
if let jsonData = jsonString.data(using: .utf8) {
// Decodifica i dati JSON in un oggetto User
do {
let user = try JSONDecoder().decode(User.self, from: jsonData)
print("Nome: \(user.name), Età: \(user.age)")
} catch {
print("Errore nella decodifica del JSON: \(error)")
}
}
Output di esempio:
Nome: John Doe, Età: 30
Approfondimento
JSON (JavaScript Object Notation) è stato ampiamente adottato sin dai primi anni 2000, dopo che Douglas Crockford lo ha specificato. Ha sostituito XML in molti casi d’uso grazie alla sua sintassi più semplice e migliori prestazioni. Mentre Codable
di Swift è il punto di riferimento per JSON, esistono alternative come JSONSerialization
per quando si ha a che fare con tipi non conformi a Codable. Sotto il cofano, Codable
astrae l’elaborazione di basso livello e rende la serializzazione/deserializzazione senza soluzione di continuità.
Vedi Anche
- Esplora di più su JSON e Swift nel blog ufficiale di Swift: Swift.org
- Controlla la documentazione di
Codable
: Swift Codable - Per strutture JSON complesse, considera l’uso di librerie di terze parti come SwiftyJSON disponibile su GitHub.