Kotlin til JSON-konverter
Lim inn Kotlin data classes eller objekter. Få ren JSON tilbake.
Hva dette verktøyet gjør
Har du noen gang måttet håndskrive en JSON-payload som speiler en data class i Kotlin — til en unit test, en fixture eller et API-kall — så vet du hvor mye pirk det er. Vanligvis drar du inn kotlinx.serialization, annoterer klassen og kjører appen for å fange outputtet. Lim inn Kotlin her og få gyldig JSON tilbake uten noe av det — ingen Gradle-plugin, ingen @Serializable, ingen runtime.
Konverteren respekterer hvordan Kotlin-verdier faktisk serialiseres. val price: Double = 49.99 blir til et JSON-tall, val tags: List<String> blir til en JSON-array, og val address: Address? med null blir til JSON null. Instant, LocalDate og LocalDateTime fra kotlin.stdlib kommer ut som ISO-8601-strenger. UUID blir en standard hex-streng. Map<String, V> blir et JSON-objekt, og verdier i en enum class kommer ut som string-navnet sitt — nøyaktig den oppførselen du ville fått fra Gson eller jackson-module-kotlin.
Serialization-annotasjoner respekteres. @SerialName("x") gir JSON-nøkkelen nytt navn, @Transient dropper propertyen. Default-parameterverdier skrives ut når propertyen ikke er satt eksplisitt. Lim inn flere data class-er samtidig, og hver av dem kommer ut som en top-level entry, med nestede typer utvidet og sealed class-hierarkier flatet ut til variantene sine. Hvis du shipper en Android-app, går outputtet rett inn i Retrofit-fixtures og Room-test-seeds.
Slik bruker du det
Tre steg. Virker likt enten du limer inn én enkelt instans eller en hel fil full av data classes.
Lim inn Kotlin (eller last inn eksempelet)
Slipp Kotlin-en din rett inn i venstre editor som den er. En data class, en vanlig klasse, en object-deklarasjon, flere klasser eller sealed-hierarkier — alt går. Klikk på Last inn eksempel for å se et realistisk case først.
Du trenger ikke fjerne import-er, packages eller annotasjoner. La Kotlin-syntaksen stå som den er — companion objects og backing fields fungerer også fint.
Trykk Konverter
Klikk på den grønne Konverter-knappen. Verktøyet leser Kotlinen, bevarer hver data class og property, og spytter ut JSON i én omgang. Imens kjører en kort loading-indikator.
Kopier JSON-en
Høyre panel fylles med innrykket JSON. Kopier det inn i Retrofit-testen din, en Room-fixture, OpenAPI-eksemplene dine eller en REST-klient. Det er hele loopen.
Når det faktisk hjelper
API-fixtures for Android-apper
Du har en Retrofit-request-modell og trenger en JSON-payload å slenge inn i MockWebServer eller Postman. Lim inn data class, ta JSON-en, videre.
Testdata for backend
En Ktor- eller Spring-tjeneste med 30 data classes. Konverter hver enkelt til JSON-seed-filer for integrasjonstester uten å skrive én eneste <code>@Serializable</code>-annotasjon.
Docs som holder seg i sync
Generer JSON-eksempler til OpenAPI-specen eller API-referansen direkte fra de faktiske data classene, sånn at dokumentasjonen aldri driver fra modellene.
Startmaler for config-filer
En Settings data class med et par dusin properties blir en redigeringsklar JSON-mal — ingen håndskrevet boilerplate.
Vanlige spørsmål
Må jeg ha kotlinx.serialization eller Jackson installert?
Nei. Verktøyet kjører server-side og kompilerer ikke koden din — du får JSON uten plugin. Vil du ha runtime-serialisering i appen din, er kotlinx.serialization det native valget; jackson-module-kotlin funker også.
Respekterer det @SerialName, @Transient og @JsonProperty?
Ja. @SerialName("x") og @JsonProperty("x") gir JSON-nøkkelen nytt navn, og @Transient / @JsonIgnore tar propertyen ut av outputtet — i tråd med kotlinx.serialization-semantikken.
Hva med Instant, LocalDate og UUID?
Instant, LocalDate, LocalDateTime og ZonedDateTime kommer alle ut som ISO-8601-strenger. UUID blir en standard 8-4-4-4-12 hex-streng. Duration blir en duration-streng.
Hvordan håndteres nullables, sealed classes og enums?
Nullable properties med verdi null blir JSON null; ellers serialiseres den indre typen som vanlig. Sealed class-instanser inneholder en type discriminator som default (konfigurerbar hvis du bruker kotlinx.serialization). Enums kommer ut som string-navnet sitt med mindre de er annotert annerledes.
Lagres koden min?
Koden din sendes til backenden for konvertering og blir ikke persistert — vi logger ikke payloaden. Som alltid, kast et blikk på sensitiv kode før du limer inn.
Funker det for både Kotlin/JVM og Kotlin Multiplatform?
Ja. Så lenge syntaksen er gyldig Kotlin, bryr konverteren seg ikke om targetet er JVM, JS, Native eller Multiplatform. Plattformsspesifikke typer uten JSON-representasjon (som Job eller Flow) kommer ut som null.
Andre verktøy du kanskje trenger
Kotlin til JSON er én brikke. Disse går godt sammen med det: