JSON naar Kotlin converter — Data classes genereren
Zet JSON om naar Kotlin data classes voor kotlinx.serialization, Jackson of Klaxon, met nullable typen en geneste klassen. Gratis, direct en privé.
🔒 Draait volledig in je browser — niets wordt geüploadKotlin data classes uit een JSON-voorbeeld
Kotlin data classes passen vanzelf bij JSON-payloads, maar ze uittikken voor een groot antwoord is vervelend — vooral op Android, waar elk scherm weer een ander endpoint lijkt aan te roepen. Deze JSON naar Kotlin converter genereert ze uit een voorbeeld. Elk object wordt een data class met val-eigenschappen, sleutels worden omgezet naar camelCase met annotaties die de oorspronkelijke JSON-namen behouden, geneste objecten worden eigen klassen en arrays worden List<T>. Velden die in sommige voorbeelden ontbreken of null zijn, worden nullable typen, zodat je de null-veiligheid van Kotlin krijgt op precies de eigenschappen die dat nodig hebben.
De type-inferentie komt van quicktype, dat elk element in elke array samenvoegt. Optionele velden die maar in enkele items voorkomen, worden toch vastgelegd, wat runtimefouten voorkomt wanneer de deserializer een sleutel tegenkomt die het model niet kent.
kotlinx.serialization, Jackson of Klaxon
De standaarduitvoer richt zich op kotlinx.serialization, de multiplatformbibliotheek van JetBrains: klassen krijgen @Serializable en sleutels @SerialName. Serverprojecten op basis van Spring geven vaak de voorkeur aan Jackson, dat @JsonProperty-annotaties en een ObjectMapper-helper genereert. Klaxon is een lichtgewicht alternatief dat sommige Android-projecten nog gebruiken. Wil je de serialisatie zelf regelen, vink dan Data classes only aan. Stel de packagenaam in zodat het bestand ter plekke compileert.
Tips voor nette Kotlin-modellen
Geef de converter een volledig voorbeeld — meerdere arrayitems, ingevulde optionele velden, geneste objecten die niet leeg zijn — zodat nullability en typen correct worden afgeleid. Hernoem de rootklasse naar je domeinnaam voordat je downloadt. Overweeg daarna strings met bekende waarden te vervangen door enum class-typen, Instant of LocalDate te gebruiken waar je serializer dat ondersteunt, en standaardwaarden toe te voegen voor velden die je API weglaat. De generatie draait volledig in je browser, dus je kunt gerust echte antwoorden plakken die tijdens het debuggen zijn vastgelegd.
Hoe te gebruiken
- Plak JSONPlak een JSON-object of -array, of laad het voorbeeld.
- Kies een serializerKies kotlinx.serialization, Jackson of Klaxon en stel de package in.
- Kopieer de data classesKopieer de Kotlin-code of download die als .kt-bestand.
Veelgestelde vragen
Welke serialisatiebibliotheken worden ondersteund?
Hoe worden nullable velden getypeerd?
String? en een standaardwaarde null.