JSON till Swift â Generera Codable-typer
Konvertera JSON till Swift Codable-structs eller klasser online med CodingKeys, optionals och nĂ€stlade typer. Redo för JSONDecoder â gratis och privat.
đ Körs helt i din webblĂ€sare â ingenting laddas uppSwift Codable-modeller frĂ„n JSON
Swifts Codable-protokoll gör JSON-avkodning till en enda rad â nĂ€r du vĂ€l har typer som matchar payloaden exakt. Den hĂ€r JSON till Swift-konverteraren genererar de typerna frĂ„n ett exempel. Varje objekt blir en struct (eller class) som implementerar Codable, nycklar blir camelCase-egenskaper, nĂ€stlade objekt blir egna typer, arrayer blir typade Swift-arrayer och vĂ€rden som saknas eller Ă€r null i nĂ„gon del av exemplet blir optionals. Explicita CodingKeys-enums kopplar varje egenskap tillbaka till den ursprungliga JSON-nyckeln, sĂ„ att API:er med snake_case avkodas utan nĂ„gon egen strategi.
Motorn bakom Àr quicktype, som slÄr ihop alla element i varje array innan typerna infereras. Ett fÀlt som bara finns i vissa objekt blir ÀndÄ en optional egenskap, vilket undviker det fruktade avkodningsfelet keyNotFound vid körning.
Structs, klasser och hjÀlpfunktioner
Structs Ă€r standard eftersom vĂ€rdetyper Ă€r idiomatiska för modeller i SwiftUI och i det mesta av modern iOS- och macOS-kod. Byt till klasser nĂ€r du behöver referenssemantik eller Objective-C-interop. Som standard innehĂ„ller resultatet ocksĂ„ bekvĂ€mlighetshjĂ€lpare â initialiserare frĂ„n JSON-data och strĂ€ngar, metoderna jsonData() och jsonString() samt en with(...)-mutator â som gör modellerna lĂ€tta att anvĂ€nda i tester och förhandsvisningar. Markera Types only om du föredrar en minimal fil med enbart Codable-deklarationerna.
Tips innan du klistrar in i Xcode
AnvĂ€nd ett rikt exempel med flera arrayelement och ifyllda valfria fĂ€lt. Byt namn pĂ„ rottypen frĂ„n Root till nĂ„got meningsfullt som FeedResponse; nedladdningen anvĂ€nder det namnet. ĂvervĂ€g dĂ€refter att göra om strĂ€ngfĂ€lt med kĂ€nda vĂ€rden till enums, anvĂ€nda Date med en matchande dateDecodingStrategy och markera egenskaper som var dĂ€r du behöver Ă€ndra dem. Allt sker lokalt i din webblĂ€sare, sĂ„ privata API-svar laddas aldrig upp.
Hur man anvÀnder
- Klistra in JSONKlistra in ett JSON-svar eller ladda exemplet.
- VÀlj stilVÀlj struct eller class, CodingKeys och om hjÀlpfunktioner ska ingÄ.
- Kopiera till XcodeKopiera Swift-koden eller ladda ner en .swift-fil till ditt projekt.
Vanliga frÄgor
Ăr de genererade typerna Codable?
Codable, sÄ du kan avkoda den med JSONDecoder direkt.Vad anvÀnds explicita CodingKeys till?
Kan jag generera klasser i stÀllet för structs?
class om du behöver referenssemantik, till exempel för Core Data eller Objective-C-interop.