Decodificare JSON con Codable
Mappi JSON in struct modello Swift.
Decodificare JSON con Codable è una lezione SwiftUI Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento SwiftUI Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso SwiftUI Academy include 4 lezioni in totale.
Perché JSON deve essere decodificato
Le API comunicano tramite JSON, un formato testuale che Swift non può usare direttamente. Deve decodificare quel testo in veri tipi Swift con cui lavorare. 📦
Scopra Codable
Il protocollo Codable consente a un tipo di convertirsi automaticamente da e verso JSON, evitando di scrivere manualmente il codice di parsing nella maggior parte dei casi.
Una struct Codable
Aggiunga semplicemente Codable alla struct. Swift genererà automaticamente la codifica e la decodifica per ogni proprietà memorizzata.
struct User: Codable {
let id: Int
let name: String
}Corrispondenza tra chiavi JSON
Swift associa direttamente ogni property name alla chiave JSON corrispondente. Quindi "name" in JSON valorizza esattamente la proprietà name.
{ "id": 1, "name": "Ada" }Decodifica con JSONDecoder
Un JSONDecoder trasforma i dati grezzi nel tipo desiderato. Gli indica quale tipo aspettarsi e farà tutto il resto.
let user = try JSONDecoder()
.decode(User.self, from: data)Lavorare con Data
Le risposte di rete arrivano come Data, cioè un insieme di byte. Il decoder legge quei byte e produce il valore tipizzato.
Decodificare gli array
Per decodificare un elenco JSON, chieda un array del tipo desiderato. Una sola chiamata le fornirà un array Swift pronto all'uso. 🎉
let users = try JSONDecoder()
.decode([User].self, from: data)Rinominare con CodingKeys
Quando le chiavi JSON differiscono dai nomi scelti, aggiunga CodingKeys per associare una chiave snake_case a una proprietà Swift più leggibile.
enum CodingKeys: String, CodingKey {
case name = "full_name"
}Proprietà facoltative
Contrassegni una proprietà come optional quando la chiave potrebbe mancare. Il decoder la imposterà semplicemente su nil invece di generare un errore.
let avatar: String?La decodifica può generare errori
Se la struttura JSON non corrisponde al tipo, la decodifica throws. Racchiuda sempre la chiamata in try per poter gestire i dati non validi.
Modelli annidati
Gli oggetti JSON annidati diventano nested structs. Renda ogni livello Codable e Swift decodificherà l'intera struttura in una sola volta.
struct Post: Codable {
let author: User
}Verifica rapida
Verifica rapida sulla trasformazione di JSON in tipi Swift.
Riepilogo: Codable
Ha imparato che Codable insieme a JSONDecoder associa JSON a valori Swift tipizzati, con CodingKeys per i rinomini e gli optionals per le chiavi mancanti. 🙌
Impara Swift con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Decodificare JSON con Codable» è gratuita?
Sì — il testo completo di «Decodificare JSON con Codable» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso SwiftUI Academy, passa a CoddyKit PRO. Il corso SwiftUI Academy include 4 lezioni in totale.
Cosa imparerò in «Decodificare JSON con Codable»?
Mappi JSON in struct modello Swift. Eserciti SwiftUI Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare SwiftUI Academy?
Non è richiesta alcuna esperienza precedente. SwiftUI Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Decodificare JSON con Codable»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione SwiftUI Academy?
Sì. Ogni lezione SwiftUI Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Decodificare JSON con Codable
- Chiamare le API con URLSession
- Il modifier .task
- Stati di caricamento ed errore