Přeskočit na obsah
100% lokálně

JSON do Swift Codable struct

Převeď vzorek JSON na strukturu Swift, která splňuje Codable.

Vstup
Výstup

JSON do Swift Codable struct

Vložte vzorek JSON a tento nástroj odvodí její strukturu a vygeneruje strukturu Swift, která splňuje Codable, připravenou k použití v projektu iOS, macOS nebo server-side Swift. Vnořené objekty se stanou vlastními vnořenými strukturami, pole se změní na typizovaná pole Swift a hodnota, která někdy chybí nebo je null, se stane volitelnou vlastností s otazníkem — aby vygenerovaný model odpovídal tomu, co API skutečně posílá, ne jen jednomu šťastnému vzorku.

Možnosti řídí tvar generovaného kódu. Zvolte struct nebo class pro deklaraci a let nebo var pro mutabilitu vlastností. Zapnutí CodingKeys převede JSON klíče jako user_name ze snake_case na camelCase v Swiftu a přidá odpovídající CodingKeys enum, takže dekódování se stále shoduje s původními názvy polí; vypněte jej, pokud chcete zachovat JSON klíče beze změny. Úroveň přístupu určuje, zda jsou typ a jeho vlastnosti public nebo internal, data jako Date rozpoznávají ISO-8601 řetězce a typizují je jako Date místo String a odsazení vám umožňuje přizpůsobit se stylu vašeho projektu s 2 mezerami, 4 mezerami nebo tabulátorem.

Pole, které míchá nesouvisející typy v poli vzorku — hodnota, která je někdy číslo a někdy řetězec — se vrátí na malý obal AnyCodable, který se přidá do výstupu pouze v případě, že je skutečně potřeba, takže se struktura stále kompiluje místo tichého hádání. Klíče, které nejsou platnými identifikátory Swift, včetně emoji nebo klíčů začínajících číslicí, jsou automaticky sanitizovány a mapovány zpět pomocí CodingKeys, takže se nic neztratí.

Všechno se spouští lokálně v prohlížeči, když píšete — vzorek JSON se nikdy nenahraje ani nepošle na server, což je důležité, když vzorek pochází ze skutečné odpovědi API. Zkopírujte vygenerovaný Swift, stáhněte si jej jako soubor .txt nebo jej odešlete zpět do vstupu, abyste jej dále zdokonalili.

Časté dotazy

Jak se zpracovávají vnořené objekty JSON?
Každý vnořený objekt se stane vlastní strukturou Swift, pojmenovanou podle klíče, pod kterým se vyskytl, a odkazovanou z nadřazené struktury podle typu.
Co se stane s polem, které někdy chybí nebo je null?
Vygeneruje se jako volitelná vlastnost s otazníkem, takže dekódování se nikdy nerozbije na skutečné odpovědi, která ji vynechá.
Co přesně dělá možnost CodingKeys?
Když je zapnutá, JSON klíč jako created_at se změní na vlastnost createdAt a enum CodingKeys ji mapuje zpět pro dekódování. Když je vypnutá, název vlastnosti odpovídá JSON klíči tak blízko, jak to pravidla identifikátorů Swift umožňují.
Může vygenerovat class místo struct?
Ano. Možnost Declaration přepíná všechny vygenerované typy mezi struct a class, přičemž si zachovává stejné soulad s Codable.
Je můj JSON někde nahrán?
Ne. Struktura se generuje zcela v prohlížeči — váš vzorek JSON nikdy neopustí vaše zařízení.