Přeskočit na obsah
100% lokálně

JSON na Kotlin datovou třídu

Převeďte JSON vzorek na připravenou Kotlin datovou třídu.

Vstup
Výstup

JSON na Kotlin datovou třídu

Vložte JSON odpověď a tento nástroj ji převede na připravenou Kotlin datovou třídu se všemi odvozením typy polí přímo z hodnot, které poskytnete. Je určen pro Android a backend vývojáře, kteří potřebují rychlý model pro odpověď API, konfigurační soubor nebo vzorový payload bez ručního zadávání názvů vlastností a typů.

Nastavte název kořenové třídy a vyberte si, jak se budou zobrazovat vnořené objekty: vnořené v kořenové třídě nebo deklarované jako samostatné třídy na nejvyšší úrovni. Přepínejte mezi val pro neměnné vlastnosti a var když model potřebuje být měnitelný, a zapněte výchozí hodnoty aby každá vlastnost měla rozumnou záchytnou hodnotu (prázdný řetězec, nula, emptyList()) aby se instance mohly vytvořit s menším počtem argumentů. Přidejte anotace @Serializable a @SerialName pro kotlinx.serialization nebo @SerializedName pro Gson a vyberte si odsazení 2 mezerami, 4 mezerami nebo tabulátorem aby odpovídalo stylu vašeho projektu.

Chybějící nebo null hodnoty se automaticky stávají nullable typy, pole se stávají List<T> s typem prvku odvozeným z každé položky a objekty se stejným tvarem se sjednocují do jedné opakovaně používané třídy místo duplikování. Možnost "sloučit pole v rámci prvků pole" určuje, zda se typ prvku vytváří ze všech prvků v poli nebo pouze z prvního, což je užitečné pro velmi velké nebo nerovnoměrně tvarované pole. Pokud je JSON na nejvyšší úrovni samo pole, nástroj zabalí odvozený typ prvku do List.

Všechno se spouští lokálně ve vašem prohlížeči - váš JSON se nikdy nenahrává ani neposílá na server, takže je bezpečné vložit skutečné odpovědi API a interní payloady. Zkopírujte vygenerovaný Kotlin, stáhněte si ho jako soubor .txt nebo pošlete výstup zpět do vstupu abyste ho převedli znovu s jinými možnostmi.

Časté dotazy

Jak nástroj rozhoduje, která pole jsou nullable?
Pole se stává nullable když chybí alespoň v jednom vzorkovém objektu nebo když je jeho jedinou pozorovanou hodnotou null. Pole přítomné s hodnotou ne-null v každém objektu zůstane ne-nullable.
Může generovat anotace kotlinx.serialization nebo Gson, které potřebuji?
Ano. Vyberte si kotlinx.serialization aby ste přidali @Serializable a @SerialName nebo Gson aby ste přidali @SerializedName s původním klíčem JSON takže se třída deserializuje správně i když se název vlastnosti liší.
Co se stane s JSON polem, jehož objekty mají různé tvary?
Jejich pole se sloučí do jedné datové třídy s jakýmkoli polem chybějícím v některých prvcích označeným nullable. Vypněte "sloučit pole v rámci prvků pole" aby se typ odvozoval pouze z prvního prvku místo toho.
Podporuje vnořené objekty?
Ano. Vnořený objekt se stává vlastní datovou třídou, která je buď deklarovaná v rámci kořenové třídy nebo jako samostatná třída na nejvyšší úrovni, v závislosti na možnosti vnoření.
Je můj JSON nahraný někde?
Ne. Konverze probíhá zcela ve vašem prohlížeči - váš JSON nikdy neopustí vaše zařízení.