DT Dev Tools

JSON zu Swift Konverter — Codable-Typen generieren

JSON online in Swift-Codable-Structs oder -Klassen umwandeln, mit CodingKeys, Optionals und verschachtelten Typen. Bereit fĂŒr JSONDecoder – kostenlos und privat.

🔒 LĂ€uft vollstĂ€ndig in Ihrem Browser — nichts wird hochgeladen

Werbung

Swift-Codable-Modelle aus JSON

Swifts Protokoll Codable macht JSON-Dekodierung zu einer einzigen Zeile – sobald Sie Typen haben, die exakt zur Payload passen. Dieser JSON-zu-Swift-Konverter erzeugt diese Typen aus einem Beispiel. Jedes Objekt wird zu einem struct (oder einer class), das Codable erfĂŒllt, SchlĂŒssel werden zu camelCase-Eigenschaften, verschachtelte Objekte werden zu eigenen Typen, Arrays zu typisierten Swift-Arrays, und Werte, die in einem Teil des Beispiels fehlen oder null sind, werden zu Optionals. Explizite CodingKeys-Enums ordnen jede Eigenschaft dem ursprĂŒnglichen JSON-SchlĂŒssel zu, sodass snake_case-APIs ohne eigene Strategie dekodiert werden.

Die Engine dahinter ist quicktype, das alle Elemente jedes Arrays zusammenfĂŒhrt, bevor es Typen ableitet. Ein Feld, das nur in einigen EintrĂ€gen vorkommt, wird dennoch zu einer optionalen Eigenschaft – das erspart den gefĂŒrchteten Dekodierfehler keyNotFound zur Laufzeit.

Structs, Klassen und Hilfsfunktionen

Structs sind der Standard, weil Werttypen fĂŒr Modelle in SwiftUI und im meisten modernen iOS- und macOS-Code idiomatisch sind. Wechseln Sie zu Klassen, wenn Sie Referenzsemantik oder Objective-C-InteroperabilitĂ€t benötigen. StandardmĂ€ĂŸig enthĂ€lt die Ausgabe zudem praktische Helfer – Initialisierer aus JSON-Daten und Strings, die Methoden jsonData() und jsonString() sowie einen with(...)-Mutator –, die die Modelle in Tests und Previews leicht nutzbar machen. Aktivieren Sie Types only, wenn Sie eine minimale Datei nur mit den Codable-Deklarationen bevorzugen.

Tipps vor dem EinfĂŒgen in Xcode

Verwenden Sie ein reichhaltiges Beispiel mit mehreren Array-Elementen und ausgefĂŒllten optionalen Feldern. Benennen Sie den Root-Typ von Root in etwas Sinnvolles wie FeedResponse um; der Download ĂŒbernimmt diesen Namen. ErwĂ€gen Sie danach, String-Felder mit bekannten Werten in Enums umzuwandeln, Date mit passender dateDecodingStrategy zu verwenden und Eigenschaften als var zu markieren, wo Sie Mutation brauchen. Alles geschieht lokal in Ihrem Browser, sodass private API-Antworten nie hochgeladen werden.

So verwenden Sie

  1. JSON einfĂŒgenFĂŒgen Sie eine JSON-Antwort ein oder laden Sie das Beispiel.
  2. Stil wÀhlenWÀhlen Sie Struct oder Class, CodingKeys und ob Hilfsfunktionen enthalten sein sollen.
  3. In Xcode kopierenKopieren Sie den Swift-Code oder laden Sie eine .swift-Datei fĂŒr Ihr Projekt herunter.

HĂ€ufig gestellte Fragen

Sind die erzeugten Typen Codable?
Ja. Jedes Struct und jede Klasse erfĂŒllt Codable, sodass Sie es sofort mit JSONDecoder dekodieren können.
WofĂŒr sind explizite CodingKeys da?
Sie ordnen Swifts camelCase-Eigenschaftsnamen den exakten JSON-SchlĂŒsseln zu. Lassen Sie sie aktiviert, wenn SchlĂŒssel snake_case oder andere Namen nutzen, die keine gĂŒltigen Swift-Bezeichner sind.
Kann ich Klassen statt Structs erzeugen?
Ja. Stellen Sie Types auf class um, wenn Sie Referenzsemantik benötigen, etwa fĂŒr Core Data oder Objective-C-Interop.
Wird mein JSON hochgeladen?
Nein. Die gesamte Konvertierung lÀuft in Ihrem Browser; nichts wird an einen Server gesendet.
Werbung