Swift til JSON-konverterer
Lim inn Swift-structs eller Codable-typer. Få ren JSON tilbake.
Hva verktøyet gjør
Hvis du noen gang har definert en Swift-struct, gjort den Codable og så innsett at du egentlig bare trenger JSON-en — uten å fyre opp en playground eller en simulator — så er det nøyaktig det dette verktøyet gjør. Lim inn Swift her og få gyldig JSON tilbake uten å måtte røre JSONEncoder, Xcode eller Swift Package Manager. Det takler en enkelt struct-instans, en hel fil med flere typer, eller noe med nestede arrays og optionals — resultatet er det samme: et rent JSON-dokument hvor hver property er bevart.
Konvertereren følger hvordan Swift-verdier faktisk serialiseres gjennom JSONEncoder. String, Int, Double, Bool mapper til sine åpenbare JSON-motparter. [Item]-arrays blir JSON-arrays; [String: V]-dictionaries blir JSON-objekter. Optional<T> med nil blir JSON null (eller utelates, avhengig av encoder-strategien). UUID kommer ut som en standard hex-streng, Date som en ISO-8601-streng, og URL som en streng. Enums med raw value sender ut raw value — samme oppførsel du får med Foundation.JSONEncoder.
Custom CodingKeys blir respektert — hvis du har gitt en property nytt navn for JSON-en (case shippingAddress = "shipping_address"), bruker outputen den omdøpte nøkkelen. Nestede Codable-typer utvides inline. Lim inn flere structs på én gang, og hver enkelt blir en top-level-oppføring i outputen. Vil du grave dypere i hvordan Swift modellerer JSON, har apple/swift kildekoden, og Hacking with Swift har virkelig lesbare forklaringer av Codable-protokollen.
Slik bruker du det
Tre steg. Funker likt enten du limer inn én struct-instans eller en hel modellfil.
Lim inn din Swift (eller last inn eksempelet)
Slå inn Swift-en slik den er i den venstre editoren. En struct, en class, en enum med associated values, flere typer, eller nestede arrays og dictionaries — alt går fint. Klikk på Last inn eksempel for å se et realistisk eksempel først.
Du trenger ikke å fjerne import Foundation eller @available-attributter. La Swift-syntaksen være — parseren tar seg av det.
Trykk Konverter
Klikk på den grønne Konverter-knappen. Verktøyet leser Swift-koden, bevarer hver property og nestet type, og spytter ut JSON-en i én omgang. Mens det jobber snurrer en kort lasteindikator.
Kopier JSON-en
Høyre panel fylles med innrykket JSON. Kopier den inn i URLSession-testen din, en MockURLProtocol-fixture, OpenAPI-eksemplene dine eller en REST-klient. Det er hele loopen.
Når dette faktisk redder dagen
iOS API-fixtures
Du har en request-struct for et <code>URLSession</code>-kall og trenger en JSON-payload til Postman eller en test. Lim inn structen, hent JSON-en, gå videre.
Mock server-responses
Gjør om response-<code>Codable</code>-typene dine til JSON du kan droppe inn i en mock server, <code>MockURLProtocol</code> eller en innspilt response-fil — helt uten et eneste <code>JSONEncoder</code>-kall.
Vapor- / SwiftNIO-backendtester
En Vapor-tjeneste med 20 <code>Content</code>-typer. Generer JSON-seed-filer til integrasjonstester uten å skrive et eneste encode-kall.
Docs og OpenAPI-eksempler
Generer JSON-eksempler for OpenAPI-specen eller API-referansen din direkte fra de faktiske modellene dine, slik at dokumentasjonen holder seg i sync.
Vanlige spørsmål
Må typen være Codable?
Typen trenger ikke faktisk være Codable i koden din for at verktøyet skal funke — konvertereren leser formen og produserer JSON-en direkte. I din egen app er Codable (eller i det minste Encodable) slik du får samme resultat i runtime via JSONEncoder.
Respekterer det custom CodingKeys?
Ja. Hvis typen din definerer enum CodingKeys: String, CodingKey med custom raw values (case shippingAddress = "shipping_address"), bruker outputen de omdøpte nøklene.
Hvordan håndteres Optionals, Dates og UUIDs?
Optional<T> med nil blir JSON null. Date kommer ut som ISO-8601-streng som default (matcher JSONEncoder.DateEncodingStrategy.iso8601). UUID blir en standard hex-streng. URL blir en streng.
Og enums med associated values?
Enums med raw value sender ut verdien direkte. Enums med associated values kommer ut som et tagget objekt — samme form som Swift selv produserer når du encoder en case med associated values.
Lagres koden min?
Koden din sendes til backend for konverteringen og blir ikke lagret — vi logger ikke payloaden. Se over sensitiv kode før du limer den inn.
Funker det for SwiftUI-modeller og property wrappers?
Ja — property wrappers som @Published pakkes ut til sin indre verdi. ObservableObject-klasser med @Published-properties serialiseres rent. SwiftUI-spesifikke view-typer er ikke serialiserbar data, men enhver modell bak view-ene dine er fair game.
Andre verktøy du kanskje trenger
Swift til JSON er bare ett stykke av puslespillet. Disse passer godt sammen med det: