SwiftUI Academy · Lektion

Avkoda JSON med Codable

Mappa JSON till Swift-modellstrukturer.

Lektion 1 av 413 steg

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. 🙌

Gratis att börja

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

  1. Avkoda JSON med Codable
  2. Anropa API:er med URLSession
  3. Modifieraren .task
  4. Laddnings- och feltillstånd
← Tillbaka till SwiftUI Academy