Preskočiť na obsah
100% lokálne

JSON na Swift Codable struct

Premení vzorku JSON na Swift struct, ktorý spĺňa Codable.

Vstup
Výstup

JSON na Swift Codable struct

Vložte vzorku JSON a tento nástroj odvodí jej štruktúru a vygeneruje Swift struct, ktorý spĺňa Codable, priamo na použitie v projekte iOS, macOS alebo server-side Swift. Vnorené objekty sa stanú vlastnými vnorenými strukturami, polia sa zmenia na typizované Swift polia, a hodnota, ktorá niekedy chýba alebo je null, sa stane voliteľnou vlastnosťou s otáznikom — aby vygenerovaný model zodpovedal tomu, čo API skutočne posiela, nie len jednému šťastnému vzorke.

Možnosti riadia tvar vygenerovaného kódu. Zvoľte struct alebo class pre deklaráciu a let alebo var pre mutabilitu vlastností. Zapnutie CodingKeys konvertuje JSON kľúče ako user_name zo snake_case na Swift camelCase a pridá zodpovedajúcu CodingKeys enum, takže dekódovanie sa stále zhoduje s pôvodnými názami polí; vypnite to, ak chcete ponechať JSON kľúče bez zmeny. Úroveň prístupu určuje, či sú typ a jeho vlastnosti public alebo internal, dátumy ako Date rozpoznávajú ISO-8601 reťazce a typizujú ich ako Date namiesto String, a odsadenie vám umožní prispôsobiť sa štýlu vášho projektu s 2 medzerami, 4 medzerami alebo tabulátorom.

Pole, ktoré zmiešava nesúvisiace typy v poli vzorky — hodnota, ktorá je niekedy číslo a niekedy reťazec — sa vráti na malý obal AnyCodable, ktorý sa pridáva do výstupu iba vtedy, keď je skutočne potrebný, takže sa struct stále kompiluje namiesto tichého odhadovania. Kľúče, ktoré nie sú platnými identifikátormi Swift, vrátane emoji alebo kľúčov začínajúcich číslicou, sa sanitizujú a mapujú naspäť cez CodingKeys automaticky, takže sa nič nestratí.

Všetko sa spúšťa lokálne vo vašom prehliadači, keď píšete — vzorka JSON sa nikdy nenahrá ani neodošle na server, čo je dôležité, keď vzorka pochádza z reálnej odpovede API. Skopírujte vygenerovaný Swift, stiahnite si ho ako súbor .txt alebo ho odošlite späť do vstupu, aby ste ho ďalej spresňovali.

Časté otázky

Ako sa spracovávajú vnorené JSON objekty?
Každý vnorený objekt sa stane vlastným Swift structom, pomenovaným podľa kľúča, pod ktorým sa vyskytol, a referencovaným z nadriadeného structu podľa typu.
Čo sa stane s poľom, ktoré niekedy chýba alebo je null?
Vygeneruje sa ako voliteľná vlastnosť s otáznikom, takže dekódovanie sa nikdy nezalomí na skutočnej odpovedi API, ktorá ho vynechá.
Čo presne robí možnosť CodingKeys?
Keď je zapnutá, JSON kľúč ako created_at sa zmení na vlastnosť createdAt a enum CodingKeys ho mapuje naspäť pre dekódovanie. Keď je vypnutá, názov vlastnosti zodpovedá JSON kľúču tak blízko, ako to pravidlá Swift identifikátorov umožňujú.
Môže vygenerovať class namiesto struct?
Áno. Možnosť Declaration prepína všetky vygenerované typy medzi struct a class, pričom si zachováva rovnaké Codable zaradenie.
Je môj JSON niekam nahrázaný?
Nie. Struct sa generuje celkom vo vašom prehliadači — vaša vzorka JSON nikdy neopustí vaše zariadenie.