Hoppa till innehåll
100% lokalt

JSON till Kotlin dataclass

Förvandla ett JSON-exempel till en färdig att använda Kotlin dataclass.

Inmatning
Utmatning

JSON till Kotlin dataclass

Klistra in ett JSON-svar och det här verktyget konverterar det till en färdig att använda Kotlin dataclass, där varje fälts typ härleds direkt från de värden du anger. Det är byggt för Android- och backend-utvecklare som behöver en snabb modell för ett API-svar, en konfigurationsfil eller ett exempelpåslag, utan att manuellt skriva egenskapsnamn och typer eller nå efter ett IDE-plugin.

Sätt ett namn för rotklassen och välj hur kapslade objekt visas: kapslade inuti rotklassen eller deklarerade som separata klasser på översta nivån. Växla mellan val för oföränderliga egenskaper och var när modellen behöver vara muterbar, och slå på standardvärden för att ge varje egenskap ett rimligt fallback (tom sträng, noll, emptyList()) så att instanser kan skapas med färre argument. Lägg till @Serializable- och @SerialName-anteckningar för kotlinx.serialization, eller @SerializedName för Gson, och välj 2-mellanslag-, 4-mellanslag- eller flikindrag för att matcha projektets stil.

Saknade eller noll-värden blir automatiskt nullable typer, arrays blir List<T> med elementtypen härledd från varje element, och objekt med samma form slås samman till en återanvänd klass istället för att dupliceras. Alternativet "Slå ihop fält över matris-element" styr om den elementtypen är byggd från varje element i arrayen eller bara det första, vilket är användbart för en mycket stor eller ojämnt formad array. När JSON på toppnivån själv är en array, omsluter verktyget den härledda elementtypen i en List för dig.

Allt körs lokalt i din webbläsare — din JSON laddas aldrig upp eller skickas till en server, så det är säkert att klistra in verkliga API-svar och interna payloads. Kopiera den genererade Kotlin, ladda ned den som en .txt-fil, eller skicka utmatningen tillbaka till inmatningen för konvertering med olika alternativ.

FAQ

Hur bestämmer verktyget vilka fält som är nullable?
Ett fält blir nullable när det saknas från minst ett exempelobjekt, eller när dess enda observerade värde är null. Ett fält som är närvarande med ett värde som inte är null i varje objekt förblir inte-nullable.
Kan det generera de kotlinx.serialization- eller Gson-anteckningar jag behöver?
Ja. Välj kotlinx.serialization för att lägga till @Serializable och @SerialName, eller Gson för att lägga till @SerializedName med den ursprungliga JSON-nyckeln, så att klassen deserialiseras korrekt även när egenskapsnamnet skiljer sig åt.
Vad händer med en JSON-array vars objekt har olika former?
Deras fält slås samman till en dataclass, med alla fält som saknas från vissa element markerade som nullable. Slå av "Slå ihop fält över matris-element" för att istället härleda typen från endast det första elementet.
Stöder det kapslade objekt?
Ja. Ett kapslat objekt blir sin egen dataclass, antingen deklarerad inuti rotklassen eller som en separat klass på översta nivån, beroende på kapslingsalternativet.
Laddas min JSON upp någonstans?
Nej. Konverteringen körs helt i din webbläsare — din JSON lämnar aldrig din enhet.