DT Dev Tools

Convertitore JSON in Swift — Genera modelli Codable

Converti JSON in struct o classi Swift Codable online con CodingKeys, opzionali e tipi annidati. Pronto per JSONDecoder, gratis, istantaneo e privato.

🔒 Funziona interamente nel tuo browser — nulla viene caricato

Pubblicità

Modelli Swift Codable dal JSON

Il protocollo Codable di Swift riduce la decodifica del JSON a una sola riga, una volta che hai tipi che corrispondono esattamente al payload. Questo convertitore da JSON a Swift genera quei tipi da un esempio. Ogni oggetto diventa una struct (o class) conforme a Codable, le chiavi diventano proprietà camelCase, gli oggetti annidati diventano tipi propri, gli array diventano array Swift tipizzati e i valori assenti o null in parte dell'esempio diventano opzionali. Enum CodingKeys espliciti ricollegano ogni proprietà alla chiave JSON originale, così le API in snake_case si decodificano senza alcuna strategia personalizzata.

Il motore sottostante è quicktype, che unisce tutti gli elementi di ogni array prima di dedurre i tipi. Un campo presente solo in alcuni elementi diventa comunque una proprietà opzionale, evitando il temuto errore di decodifica keyNotFound a runtime.

Struct, classi e helper

Le struct sono l'impostazione predefinita perché i value type sono idiomatici per i modelli in SwiftUI e nella maggior parte del codice iOS e macOS moderno. Passa alle classi quando ti servono la semantica per riferimento o l'interoperabilità con Objective-C. Per impostazione predefinita l'output contiene anche helper di comodo — inizializzatori da dati e stringhe JSON, metodi jsonData() e jsonString() e un mutatore with(...) — che rendono i modelli facili da usare nei test e nelle preview. Seleziona Types only se preferisci un file minimale con le sole dichiarazioni Codable.

Consigli prima di incollare in Xcode

Usa un esempio ricco, con più elementi per array e campi opzionali compilati. Rinomina il tipo radice da Root a qualcosa di significativo come FeedResponse; il download userà quel nome. In seguito, valuta di trasformare in enum i campi stringa con valori noti, di usare Date con un dateDecodingStrategy corrispondente e di marcare le proprietà come var dove ti serve la mutazione. Tutto avviene in locale nel tuo browser, quindi le risposte API private non vengono mai caricate.

Come usare

  1. Incolla il JSONIncolla una risposta JSON o carica l'esempio.
  2. Scegli lo stileSeleziona struct o class, i CodingKeys e se includere gli helper.
  3. Copia in XcodeCopia il codice Swift o scarica un file .swift per il tuo progetto.

Domande frequenti

I tipi generati sono Codable?
Sì. Ogni struct o classe è conforme a Codable, quindi puoi decodificarla subito con JSONDecoder.
A cosa servono i CodingKeys espliciti?
Mappano i nomi delle proprietà Swift in camelCase sulle chiavi JSON esatte. Mantienili attivi quando le chiavi usano snake_case o altri nomi che non sono identificatori Swift validi.
Posso generare classi invece di struct?
Sì. Imposta Types su class se ti serve la semantica per riferimento, per esempio per Core Data o per l'interoperabilità con Objective-C.
Il mio JSON viene caricato?
No. Tutta la conversione avviene nel tuo browser; nulla viene inviato a un server.
Pubblicità