Ugrás a tartalomhoz
100% helyi

JSON to Swift Codable struct

JSON minta átalakítása Codable protokollnak megfelelő Swift struct-tá.

Bemenet
Kimenet

JSON to Swift Codable struct

Egy JSON minta beillesztésével ez az eszköz felismeri annak szerkezetét, és generál egy Swift struct-ot, amely megfelel a Codable protokollnak, és azonnal beilleszthető egy iOS, macOS vagy szerver oldali Swift projektbe. A beágyazott objektumok saját beágyazott struct-okká válnak, a tömbök típusos Swift tömbökké alakulnak, és az olyan érték, amely néha hiányzik vagy null, egy opcionális tulajdonsággá válik — így a generált modell megfelel annak, amit az API valójában küld, nem csak egy szerencsés minta alapján.

Az opciók szabályozzák a generált kód alakját. Válassz struct vagy class közül a deklarációhoz, és let vagy var között a tulajdonságok módosíthatóságához. A CodingKeys bekapcsolásakor a snake_case JSON kulcsokat, például user_name átkonvertálja Swift camelCase konvenciójára, és hozzáadja a megfelelő CodingKeys enum-ot, így a dekódolás továbbra is illeszkedik az eredeti mezőnevekhez; kapcsold ki, hogy megtartsd a JSON kulcsokat szó szerint. A hozzáférési szint határozza meg, hogy a típus és tulajdonságai public vagy internal, a dátumok dátumformátuma felismeri az ISO-8601 karakterláncokat és Date típusként kezeli őket String helyett, és a behúzás lehetővé teszi, hogy illeszkedhess a projekt stílusához 2 szóközzel, 4 szóközzel vagy tabulátorokkal.

Egy mező, amely egy minta tömb között nem kapcsolódó típusokat kevert — olyan érték, amely néha szám és néha karakterlánc — egy kis AnyCodable burkoló felé hajlik, amely csak akkor kerül hozzáadásra a kimenethez, ha ténylegesen szükséges, így a struct továbbra is lefordul helyett, hogy csendesen rosszul tippelne. A Swift azonosítóként nem érvényes kulcsok, beleértve az emoji-kat vagy a számjeggyel kezdődő kulcsokat, automatikusan megtisztítanak és visszaképeznek a CodingKeys-en keresztül, így semmi nem veszett el.

Minden helyileg fut a böngésződben, ahogyan gépelsz — a JSON minta soha nem kerül feltöltésre vagy elküldésre szerverre, ami akkor számít, ha a minta egy valós API válaszból származik. Másold a generált Swift-et, töltsd le .txt fájlként, vagy küldd vissza a bemenetbe, hogy tovább finomítsad.

Gyakori kérdések

Hogyan kezelhetők a beágyazott JSON objektumok?
Minden beágyazott objektum saját Swift struct-ként működik, amelyet az alatt a kulcs neve után neveznek el, amely alatt megjelent, és a szülő struct-ból típus szerint hivatkoznak rá.
Mi történik egy mezővel, amely néha null vagy hiányzik?
Opcionális tulajdonságként jön létre egy záró kérdőjellel, így a dekódolás soha nem omlik össze egy olyan valós válaszon, amely elhagyja.
Mit csinál valójában a CodingKeys lehetőség?
Ha be van kapcsolva, egy snake_case JSON kulcs, például created_at, a createdAt tulajdonsággá válik, és egy CodingKeys enum visszaképezi a dekódoláshoz. Ha ki van kapcsolva, a tulajdonság neve olyan közel van a JSON kulcshoz, amennyire a Swift azonosító szabályok lehetővé teszik.
Képes struct helyett class-t generálni?
Igen. A Deklaráció lehetőség minden generált típust struct és class között vált, miközben megtartja az ugyanazt Codable megfelelőséget.
A JSON minta valahol feltöltésre kerül?
Nem. A struct-ot teljesen a böngésződben hozzák létre — a JSON minta soha nem hagyja el az eszközöd.