Preskoči na vsebino
100% lokalno

JSON v Swift Codable strukturo

Pretvorite JSON primer v Swift strukturo, ki se ujema s protokolom Codable.

Vhod
Izhod

JSON v Swift Codable strukturo

Prilepite JSON primer in to orodje izpelje svojo strukturo ter ustvari Swift strukturo, ki se ujema s protokolom Codable, pripravljena za uporabo v iOS, macOS ali serverskem Swift projektu. Ugniježđeni objekti postanejo lastne ugniježđene strukture, polja postanejo tipizirana Swift polja, vrednost pa, ki včasih manjka ali je null, postane opcijska lastnost z vprašajem — zato generirani model ujema tistemu, kar API dejansko pošilja, ne samo eni srečni vzorcu.

Možnosti nadzirajo obliko generiranega koda. Izberite struct ali class za deklaracijo in let ali var za spremenljivost lastnosti. Vključitev CodingKeys pretvori snake_case JSON ključe, kot je user_name, v Swift camelCase konvencijo in doda ujemajoči se CodingKeys enum, zato je dekodiranje še vedno poravnano s prvotnimi imeni polj; pustite izklopljeno, da obdržite JSON ključe dobesedno. Raven dostopa določi, ali so tip in njegove lastnosti javni ali notranji, datumi kot Date prepoznajo ISO-8601 nize in jih tipizirajo kot Date namesto String, zamik pa vam omogoči, da se usklajujete s stilom svojega projekta z 2 presledki, 4 presledki ali tabulatorji.

Polje, ki meša nepovezane vrste čez matriko — vrednost, ki je včasih številka in včasih niz — se vrne na majhen AnyCodable wrapper, ki se doda rezultatu le, ko se dejansko uporabi, zato se struktura še vedno prevede namesto da tiho naredi napako. Ključi, ki niso veljavni Swift identifikatorji, vključno z emoji ali ključi, ki se začnejo s števko, se samodejno očistijo in preslikajo nazaj preko CodingKeys, tako da se nič ne izgubi.

Vse teče lokalno v vašem brskalniku med tipkanjem — vaš JSON primer se nikoli ne naloži niti ne pošlje na strežnik, kar je pomembno, ko izhaja vzorec iz dejanskega API odgovora. Kopirajte generirani Swift, preuzmite ga kot datoteko .txt ali ga ponovno pošljite na vhod za nadaljnje dovršitev.

FAQ

Kako se upravljajo ugniježđeni JSON objekti?
Vsak ugniježđeni objekt postane lastna Swift struktura, poimenovana po ključu, pod katerim se je pojavila, in je iz nadrejenega objekta povezana po vrsti.
Kaj se zgodi s poljem, ki včasih manjka ali je null?
Generirano je kot opcijska lastnost z vprašajem, zato se dekodiranje nikoli ne ujame na dejanskem odgovoru, ki ga izpusti.
Kaj pravzaprav počne možnost CodingKeys?
Ko je vključena, se JSON ključ, kot je created_at, spremeni v lastnost createdAt, CodingKeys enum pa ga preslika nazaj za dekodiranje. Ko je izklopljena, se ime lastnosti ujema s JSON ključem, kolikor se lahko ujema po Swift pravilih identifikatorja.
Ali lahko generiram razred namesto strukture?
Da. Možnost Deklaracija preklopi vsak generirani tip med struct in class, medtem ko ohranja isto ujemanje Codable.
Je moj JSON naložen nekje?
Ne. Struktura se ustvari povsem v vašem brskalniku — vaš JSON primer nikoli ne zapusti vašo napravo.