Avkoda JSON med Codable
Mappa JSON till Swift-modellstrukturer.
Avkoda JSON med Codable är en gratis lektion i SwiftUI Academy på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för SwiftUI Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i SwiftUI Academy innehåller totalt 4 lektioner.
Varför JSON behöver avkodas
API:er använder JSON, ett textformat som Swift inte kan använda direkt. Du avkodar texten till riktiga Swift-typer som du kan arbeta med. 📦
Möt Codable
Protokollet Codable låter en typ konvertera sig själv till och från JSON automatiskt, så du behöver sällan skriva kod för att tolka data för hand.
En Codable-struktur
Lägg bara till Codable i din struct. Swift genererar kodning och avkodning för alla lagrade egenskaper åt dig.
struct User: Codable {
let id: Int
let name: String
}Matchande JSON-nycklar
Swift mappar varje property name direkt till den matchande JSON-nyckeln. "name" i JSON fyller alltså egenskapen name exakt.
{ "id": 1, "name": "Ada" }Avkoda med JSONDecoder
En JSONDecoder omvandlar rå Data till din typ. Du anger vilken typ den ska förvänta sig, så sköter den resten.
let user = try JSONDecoder()
.decode(User.self, from: data)Arbeta med Data
Nätverkssvar kommer som Data, en samling byte. Avkodaren läser byten och skapar ditt typade värde.
Avkoda arrayer
Om du vill avkoda en JSON-lista begär du en array av din typ. Ett anrop ger dig en färdig Swift-array. 🎉
let users = try JSONDecoder()
.decode([User].self, from: data)Byt namn med CodingKeys
När JSON-nycklar skiljer sig från dina namn lägger du till CodingKeys för att mappa en snake_case-nyckel till en tydlig Swift-egenskap.
enum CodingKeys: String, CodingKey {
case name = "full_name"
}Valfria egenskaper
Markera en egenskap som optional när nyckeln kan saknas. Avkodaren anger då helt enkelt nil i stället för att kasta ett fel.
let avatar: String?Avkodning kan kasta fel
Om JSON-strukturen inte matchar din typ throws avkodningen ett fel. Omslut alltid anropet med try så att du kan hantera felaktiga data.
Kapslade modeller
Kapslade JSON-objekt blir nested structs. Gör varje nivå Codable så avkodar Swift hela trädet på en gång.
struct Post: Codable {
let author: User
}Snabb kontroll
Snabb kontroll av hur JSON omvandlas till Swift-typer.
Repetition: Codable
Du har lärt dig att Codable tillsammans med JSONDecoder mappar JSON till typade Swift-värden, med CodingKeys för namnbyten och optionals för saknade nycklar. 🙌
Lär dig Swift med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Avkoda JSON med Codable” gratis?
Ja – hela texten till ”Avkoda JSON med Codable” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i SwiftUI Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i SwiftUI Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Avkoda JSON med Codable”?
Mappa JSON till Swift-modellstrukturer. Ni övar på SwiftUI Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig SwiftUI Academy?
Du behöver inga förkunskaper. Utbildningen i SwiftUI Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.
Hur lång tid tar lektionen ”Avkoda JSON med Codable”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här SwiftUI Academy-lektionen?
Ja. Varje SwiftUI Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Avkoda JSON med Codable
- Anropa API:er med URLSession
- Modifieraren .task
- Laddnings- och feltillstånd