JSON Swiftiksi
Muunna JSON Swift-rakenteiksi Swift-kehitykseen
JSON-syöte
Swift-tulos
Mikä on JSON Swiftiksi?
Rakennatko iOS- tai macOS-sovellusta, joka kutsuu REST API:a? Saat JSON:ia takaisin — mutta Swift tarvitsee eksplisiittiset Codable structs sen turvalliseen dekoodaukseen. Näiden structs kirjoittaminen käsin jokaiselle API-endpointille on toistuvaa ja virhealtista. Tämä työkalu luo automaattisesti Swift structs JSON:istasi, täydellä Codable-konformansilla. Liitä vain esimerkkivastaus ja saat välittömästi käyttövalmiit tyypit JSONDecoderille.
Muunnos tapahtuu selaimessasi. Voit asettaa structin nimen ja ottaa käyttöön Käytä Codablea ja Valinnaiset tyypit. Mitään ei lähetetä palvelimelle. Generoidut tyypit ovat lähtökohta iOS-, macOS- tai palvelinpuolen Swift-projekteille.
Milloin JSON Swiftiksi on hyödyllinen
Kun rakennat iOS- tai macOS-sovelluksia, jotka käyttävät REST-rajapintoja, generoi Codable-structeja täällä. Käytä JSONDecoder-luokkaa jäsentämiseen. Liitä esimerkkivastaus saadaksesi tyypitetyt mallit.
Miten työkalua käytetään
Liitä tai lataa JSON
Liitä JSON vasempaan editoriin tai lataa tiedosto. Käytä Esimerkki-painiketta testidataan. Aseta juuren Structin nimi asetuksissa. Ota Käytä Codablea käyttöön Codable-yhteensopivuuteen ja Valinnaiset tyypit valinnaisille kentille.
Tarkista generoidut tyypit
Oikea paneeli näyttää Swift-structeja tai -luokkia. Sisäkkäiset objektit tulevat sisäkkäisiksi tyypeiksi. Käytä JSONDecoder().decode(YourType.self, from: data) jäsentämiseen. Lisää CodingKeys, jos JSON-avaimet eroavat ominaisuuksien nimistä. Virheelliselle JSONille käytä ensin JSON-tarkistinta.
Kopioi tai lataa
Käytä Kopioi tai Lataa tiedostona. JSONin muotoiluun ensin JSON-muotoilija. Tarkistukseen JSON-tarkistin.
Esimerkkejä JSON Swiftiksi
Tässä esimerkki Swift-structien generoinnista JSON-objektista.
Esimerkki: Tilaajatietue
JSON-syöte:
Generoitu Swift-tulos:
Milloin JSON Swiftiksi on hyödyllinen
Kun rakennat iOS- tai macOS-sovelluksia, jotka käyttävät REST-rajapintoja, tarvitset Swift-tyyppejä vastauskuormalle. Liittämällä esimerkkivastauksen saat Codable-structeja, joita voit käyttää URLSession- tai Alamofire-kutsujen kanssa. Palvelinpuolen Swift (Vapor, Kitura) hyötyy samasta työnkulusta. Monimutkaisen sisäkkäisen JSONin kirjoittaminen käsin on virhealtista; työkalu päättelee rakenteen näytteestäsi. Arvojen poimimiseen suurista vastauksista käytä komentoriviltä jq:ta. Käänteiseen (Swift/ObjC JSONiksi) serialisoit koodissa. Tarkistukseen käytä JSON-tarkistinta.
Usein kysyttyä
Mikä on Codable struct Swiftissä?
Codable on typealias Encodable & Decodable:lle. Codable struct voidaan muuntaa JSON:iin/JSON:sta käyttäen Swiftin sisäänrakennettua JSONDecoderia ja JSONEncoderia. Se on moderni, suositeltu tapa käsitellä JSON:ia iOS- ja macOS-sovelluksissa. Katso Applen Codable-opas.
Miten dekoodaan JSON:in Swiftissä?
Luo Codable struct, joka vastaa JSON:iasi, sitten kutsu JSONDecoder().decode(YourType.self, from: data). Generoi struct täällä — liitä JSON:isi ja kopioi tulos Xcode-projektiisi.
Struct vs luokka JSON-malleille Swiftissä?
Structit ovat arvo-tyyppejä ja niitä suositaan DTO:ille ja JSON-malleille Swiftissä — ne ovat yksinkertaisempia, säieturvallisia ja toimivat hyvin Codable:n kanssa. Käytä luokkia kun tarvitset viite-semantiikkaa tai perintää.
Lähetetäänkö JSON:ini palvelimelle?
Ei. Struct-generointi toimii kokonaan selaimessasi. JSON:isi ei koskaan poistu laitteeltasi, joten se on turvallista API-avaimille tai arkaluonteisille latauksille.
Voinko käyttää tätä Alamofiren kanssa?
Kyllä. Alamofiren responseDecodable(of: YourType.self) toimii minkä tahansa Codable-tyypin kanssa. Generoi struct täällä ja liitä se suoraan Alamofire-vastaushandleriisi.