DT Dev Tools

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üpload

Advertentie

Kotlin 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

  1. Plak JSONPlak een JSON-object of -array, of laad het voorbeeld.
  2. Kies een serializerKies kotlinx.serialization, Jackson of Klaxon en stel de package in.
  3. Kopieer de data classesKopieer de Kotlin-code of download die als .kt-bestand.

Veelgestelde vragen

Welke serialisatiebibliotheken worden ondersteund?
kotlinx.serialization (de standaard), Jackson en Klaxon. Elk levert de juiste annotaties en hulpcode voor die bibliotheek.
Hoe worden nullable velden getypeerd?
Velden die in sommige voorbeelden null zijn of ontbreken, worden gedeclareerd met een nullable type zoals String? en een standaardwaarde null.
Kan ik data classes zonder annotaties krijgen?
Ja. Vink Data classes only aan om gewone Kotlin data classes te krijgen zonder serializer-specifieke code.
Verlaat de JSON mijn browser?
Nee. Alle parsing en generatie draaien lokaal op je apparaat.
Advertentie