Preskočiť na obsah
100% lokálne

JSON na Kotlin triedu dát

Preverte JSON vzorku na hotovú Kotlin triedu dát.

Vstup
Výstup

JSON na Kotlin triedu dát

Vložte JSON odpoveď a tento nástroj ju prekonvertuje na hotovú Kotlin triedu dát so všetkými odvodenými typmi polí priamo z hodnôt, ktoré poskytnete. Je určený pre Android a backend vývojárov, ktorí potrebujú rýchly model pre API odpoveď, konfiguračný súbor alebo vzorový payload bez ručného zadávania názvov vlastností a typov.

Nastavte názov koreňovej triedy a vyberte si, ako sa budú zobrazovať vnorené objekty: vnorené v koreňovej triede alebo deklarované ako samostatné triedy na najvyššej úrovni. Prepínajte medzi val pre neäniteľné vlastnosti a var ak model potrebuje byť meniteľný, a zapnite predvolené hodnoty aby každá vlastnosť mala rozumnú záchytnú hodnotu (prázdny reťazec, nula, emptyList()) tak aby sa inštancie mohli vytvoriť s menším počtom argumentov. Pridajte anotácie @Serializable a @SerialName pre kotlinx.serialization alebo @SerializedName pre Gson a vyberte si 2-medzierové, 4-medzierové alebo tabulátor odsadenie aby sa zhodovalo so štýlom vášho projektu.

Chýbajúce alebo null hodnoty sa automaticky stávajú nullable typmi, polia sa stávajú List<T> s typom elementu odvodenú z každej položky a objekty s rovnakým tvarom sa zlepšujú do jednej opakovane používanej triedy namiesto duplikovania. Možnosť "zlúčiť polia cez prvky poľa" určuje, či sa typ položky zostavuje zo všetkých prvkov v poli alebo iba z prvého, čo je užitočné pre veľmi veľké alebo nerovnomerne tvarované pole. Ak je JSON na najvyššej úrovni samo poľom, nástroj zabalí odvodený typ položky do List-u.

Všetko sa spúšťa lokálne vo vašom prehliadači - váš JSON sa nikdy nenahráva ani nešalje na server, takže je bezpečné vložiť skutočné API odpovede a interné payloady. Skopírujte vygenerovaný Kotlin, stiahnite si ho ako súbor .txt alebo pošlite výstup naspäť do vstupu aby ste ho konvertovali znova s inými možnosťami.

Časté otázky

Ako nástroj rozhoduje, ktoré polia sú nullable?
Pole sa stáva nullable keď chýba v aspoň jednom vzorkovom objekte alebo keď je jeho jedinou pozorovanou hodnotou null. Pole prítomné s hodnotou nie null v každom objekte zostáva nie nullable.
Môže generovať anotácie kotlinx.serialization alebo Gson, ktoré potrebujem?
Áno. Vyberte si kotlinx.serialization aby ste pridali @Serializable a @SerialName alebo Gson aby ste pridali @SerializedName s pôvodným kľúčom JSON tak aby sa trieda deserializovala správne dokonca keď sa názov vlastnosti líši.
Čo sa stane s JSON poľom, ktorého objekty majú rôzne tvary?
Ich polia sa zlúčia do jednej triedy dát s akýmkoľvek poľom chýbajúcim v niektorých prvkoch označené nullable. Vypnite "zlúčiť polia cez prvky poľa" aby ste odvodili typ iba z prvého prvku namiesto toho.
Podporuje vnorené objekty?
Áno. Vnorený objekt sa stáva vlastnou triedou dát, ktorá je buď deklarovaná v rámci koreňovej triedy alebo ako samostatná trieda na najvyššej úrovni, v závislosti od možnosti vnorovania.
Je môj JSON nahraný kdekoľvek?
Nie. Konverzia prebieha úplne vo vašom prehliadači - váš JSON nikdy neopustí vaše zariadenie.