DT Dev Tools

JSON naar Swift Codable converter — Structs genereren

Zet JSON om naar Swift Codable-structs of -klassen met CodingKeys, optionals en geneste typen. Klaar voor JSONDecoder — gratis, direct en privé.

🔒 Draait volledig in je browser — niets wordt geüpload

Advertentie

Swift Codable-modellen uit JSON

Het Codable-protocol van Swift maakt JSON-decodering tot één regel — zodra je typen hebt die exact bij de payload passen. Deze JSON naar Swift converter genereert die typen uit een voorbeeld. Elk object wordt een struct (of class) die aan Codable voldoet, sleutels worden camelCase-eigenschappen, geneste objecten worden eigen typen, arrays worden getypeerde Swift-arrays en waarden die in een deel van het voorbeeld ontbreken of null zijn, worden optionals. Expliciete CodingKeys-enums koppelen elke eigenschap terug aan de oorspronkelijke JSON-sleutel, zodat snake_case-API's zonder eigen strategie worden gedecodeerd.

De engine erachter is quicktype, dat alle elementen van elke array samenvoegt voordat het typen afleidt. Een veld dat maar in sommige items voorkomt, wordt toch een optionele eigenschap, wat de gevreesde decodeerfout keyNotFound tijdens runtime voorkomt.

Structs, klassen en helpers

Structs zijn de standaard omdat waardetypen idiomatisch zijn voor modellen in SwiftUI en de meeste moderne iOS- en macOS-code. Schakel over naar klassen als je referentiesemantiek of Objective-C-interoperabiliteit nodig hebt. Standaard bevat de uitvoer ook gemaksfuncties — initializers vanuit JSON-data en strings, de methoden jsonData() en jsonString() en een with(...)-mutator — waarmee de modellen makkelijk te gebruiken zijn in tests en previews. Vink Types only aan als je liever een minimaal bestand hebt met alleen de Codable-declaraties.

Tips voordat je in Xcode plakt

Gebruik een rijk voorbeeld met meerdere arrayitems en ingevulde optionele velden. Hernoem het roottype van Root naar iets zinvols zoals FeedResponse; de download gebruikt die naam. Overweeg daarna stringvelden met bekende waarden om te zetten in enums, Date te gebruiken met een bijpassende dateDecodingStrategy en eigenschappen var te maken waar je mutatie nodig hebt. Alles gebeurt lokaal in je browser, dus privé API-antwoorden worden nooit geüpload.

Hoe te gebruiken

  1. Plak JSONPlak een JSON-antwoord of laad het voorbeeld.
  2. Kies de stijlKies struct of class, CodingKeys en of je helpers wilt opnemen.
  3. Kopieer naar XcodeKopieer de Swift-code of download een .swift-bestand voor je project.

Veelgestelde vragen

Zijn de gegenereerde typen Codable?
Ja. Elke struct of klasse voldoet aan Codable, zodat je direct met JSONDecoder kunt decoderen.
Waar dienen expliciete CodingKeys voor?
Ze koppelen Swift-eigenschapsnamen in camelCase aan de exacte JSON-sleutels. Laat ze aan staan wanneer sleutels snake_case of andere namen gebruiken die geen geldige Swift-identifiers zijn.
Kan ik klassen genereren in plaats van structs?
Ja. Zet Types op class als je referentiesemantiek nodig hebt, bijvoorbeeld voor Core Data of Objective-C-interoperabiliteit.
Wordt mijn JSON geüpload?
Nee. Alle conversie draait in je browser; er wordt niets naar een server gestuurd.
Advertentie