Swift naar JSON Converter
Plak Swift-structs of Codable-types. Krijg schone JSON terug.
Wat deze tool doet
Als je ooit een Swift-struct hebt gedefinieerd, 'm Codable hebt gemaakt en je realiseerde dat je alleen maar de JSON nodig had — zonder een playground of simulator op te starten — dan is dit de tool. Plak hier je Swift en krijg geldige JSON terug, zonder JSONEncoder, Xcode of Swift Package Manager aan te raken. Het werkt voor één struct-instantie, een heel bestand met meerdere types, of iets met geneste arrays en optionals — het resultaat is hetzelfde: een schoon JSON-document waarin elke property behouden blijft.
De converter volgt hoe Swift-waarden werkelijk door JSONEncoder worden geserialiseerd. String, Int, Double, Bool mappen naar de voor de hand liggende JSON-tegenhangers. [Item]-arrays worden JSON-arrays; [String: V]-dictionaries worden JSON-objecten. Optional<T> met nil wordt JSON null (of wordt weggelaten, afhankelijk van de encoder-strategie). UUID wordt een standaard hex-string, Date wordt een ISO-8601-string en URL een string. Enums met raw value geven die raw value uit — hetzelfde gedrag als bij Foundation.JSONEncoder.
Custom CodingKeys worden gerespecteerd — als je een property hernoemt voor JSON (case shippingAddress = "shipping_address"), gebruikt de output die hernoemde key. Geneste Codable-types worden inline uitgeklapt. Plak meerdere structs tegelijk en elke wordt een top-level entry in de output. Wil je dieper graven hoe Swift JSON modelleert: op apple/swift staat de source, en Hacking with Swift heeft lekker leesbare uitleg over het Codable-protocol.
Hoe je 'm gebruikt
Drie stappen. Werkt hetzelfde of je nu één struct-instantie plakt of een hele model-file.
Plak je Swift (of laad het voorbeeld)
Gooi je Swift as-is in de linker editor. Een struct, een class, een enum met associated values, meerdere types of geneste arrays en dictionaries — allemaal prima. Klik op Voorbeeld laden om eerst een realistisch voorbeeld te zien.
Je hoeft import Foundation of @available-attributen niet te verwijderen. Laat de Swift-syntax gewoon staan — de parser handelt het af.
Klik Converteren
Klik op de groene Converteren-knop. De tool leest de Swift in, bewaart elke property en elk genest type, en spuugt de JSON er in één keer uit. Ondertussen draait er kort een laadindicator.
Kopieer de JSON
Het rechter paneel vult zich met ingesprongen JSON. Kopieer 'm in je URLSession-test, een MockURLProtocol-fixture, je OpenAPI-voorbeelden of een REST-client. Dat is de hele cyclus.
Wanneer dit echt uitkomt
iOS-API-fixtures
Je hebt een request-struct voor een <code>URLSession</code>-call en je hebt een JSON-payload nodig voor Postman of een test. Struct plakken, JSON pakken, doorgaan.
Mock-server-responses
Zet je response-<code>Codable</code>-types om in JSON die je zo in een mock server, <code>MockURLProtocol</code> of een opgenomen response-bestand gooit — geen enkele <code>JSONEncoder</code>-call nodig.
Vapor- / SwiftNIO-backendtests
Een Vapor-service met 20 <code>Content</code>-types. Genereer JSON-seed-bestanden voor integratietests zonder één encode-call te schrijven.
Docs en OpenAPI-voorbeelden
Genereer JSON-voorbeelden voor je OpenAPI-spec of API-reference direct uit je echte models, zodat je documentatie in sync blijft.
Veelgestelde vragen
Moet het type aan Codable conformeren?
Het type hoeft in jouw code niet echt conform te zijn om de tool te laten werken — de converter leest de shape en produceert de JSON direct. In je eigen app is Codable (of minstens Encodable) hoe je hetzelfde resultaat tijdens runtime krijgt via JSONEncoder.
Respecteert 'ie custom CodingKeys?
Ja. Als je type enum CodingKeys: String, CodingKey definieert met custom raw values (case shippingAddress = "shipping_address"), gebruikt de output die hernoemde keys.
Hoe worden Optionals, Dates en UUIDs afgehandeld?
Optional<T> met nil wordt JSON null. Date komt er standaard uit als ISO-8601-string (zoals JSONEncoder.DateEncodingStrategy.iso8601). UUID wordt een standaard hex-string. URL wordt een string.
En enums met associated values?
Enums met raw value geven die waarde direct uit. Enums met associated values komen eruit als een tagged object — dezelfde shape die Swift zelf produceert als je een case met associated values encodeert.
Wordt mijn code opgeslagen?
Je code wordt naar de backend gestuurd voor de conversie en wordt niet bewaard — we loggen de payload niet. Gevoelige code even doorkijken voordat je 'm plakt.
Werkt het voor SwiftUI-models en property wrappers?
Ja — property wrappers zoals @Published worden uitgepakt naar hun interne waarde. ObservableObject-classes met @Published-properties serializen netjes. SwiftUI-specifieke view-types zijn geen serializable data, maar elk model achter je views is fair game.
Andere tools die je misschien nodig hebt
Swift naar JSON is maar één stukje van de puzzel. Deze passen er goed bij: