JSON till Swift Codable Struct
Omvandla ett JSON-exempel till en Swift-struct som implementerar Codable.
JSON till Swift Codable Struct
Klistra in ett JSON-exempel och det här verktyget härleder dess form och genererar en Swift-struct som följer Codable, redo att släppa in i ett iOS-, macOS- eller serversidans Swift-projekt. Kapslade objekt blir egna kapslade structs, matriser blir typade Swift-matriser, och ett värde som ibland saknas eller är null blir en valfri egenskap med ett frågetecken — så den genererade modellen matchar det som API:n faktiskt skickar, inte bara ett lyckosamt exempel.
Alternativen styr formen på den genererade koden. Välj struct eller class för deklarationen och let eller var för egenskapsmutabilitet. Om du aktiverar CodingKeys konverteras snake_case JSON-nycklar som user_name till Swifts camelCase-konvention och motsvarande CodingKeys-enum läggs till, så avkodning fortfarande stämmer överens med de ursprungliga fältnamnen. Lämna det inaktiverat för att behålla JSON-nycklarna ordagrant. Åtkomstnivå bestämmer om typen och dess egenskaper är public eller internal, datum som Date känner igen ISO-8601-strängar och skriver dem som Date istället för String, och indragning låter dig matcha ditt projekts stil med 2 mellanslag, 4 mellanslag eller tabbar.
Ett fält som blandar orelaterade typer i en exempelmatris — ett värde som ibland är ett tal och ibland en sträng — faller tillbaka på en liten AnyCodable-wrapper som endast läggs till i utdatan när det faktiskt behövs, så strukturen kompileras fortfarande istället för att tyst gissa fel. Nycklar som inte är giltiga Swift-identifierare, inklusive emoji eller nycklar som börjar med en siffra, saneras och mappas tillbaka genom CodingKeys automatiskt så ingenting går förlorat.
Allt körs lokalt i din webbläsare när du skriver — ingen JSON-exempel överförs eller skickas till en server någonsin, vilket spelar roll när exemplet kommer från ett verkligt API-svar. Kopiera den genererade Swift, ladda ned den som en .txt-fil, eller skicka den tillbaka till inmatningen för ytterligare förfining.