Omnikit
ProgramowaniePlikiFinanseWszystkie narzędzia
Ctrl K
Narzędzia dla programistówNarzędzia do plikówKalkulatory finansoweWszystkie narzędzia
Strona głównaNarzędzia dla programistówKonwerter JSON na data class w Kotlinie
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Konwerter JSON na data class w Kotlinie

programowanie

Zamiana próbki JSON na data class w Kotlinie dla kotlinx.serialization, Gson lub Moshi

Działa w przeglądarce. Wpisane dane nie są nigdzie wysyłane. Sprawdzono 16 października 2026.

Wystarczy wkleić próbkę JSON, aby otrzymać data class w Kotlinie dla kotlinx.serialization, Gson lub Moshi. Liczby całkowite stają się Int, powyżej 2 147 483 647 Long, każda wartość dziesiętna zmienia właściwość na Double, wartość null czyni ją nullowalną, a klucz brakujący w niektórych obiektach staje się T? = null, aby wszystkie 3 biblioteki go zdekodowały.

Ta strona została przetłumaczona maszynowo z angielskiego oryginału. Tłumaczenie nie zostało jeszcze sprawdzone przez człowieka, dlatego wiążąca jest wersja angielska. Przeczytaj angielski oryginał

Dalej:
  • Konwerter JSON na klasy Java Zamiana próbki JSON na POJO, rekordy lub klasy Lombok w Javie z adnotacjami dla Jacksona
  • Formater i walidator JSON Formatowanie, walidacja, minifikacja i sortowanie JSON z dokładną pozycją błędu

Jak przekonwertować JSON na data class w Kotlinie

1

Wklej próbkę JSON, na przykład odpowiedź API, do lewego pola.

2

Data class w Kotlinie pojawiają się w trakcie pisania, po jednej na obiekt, z właściwościami w camelCase i adnotacją tam, gdzie klucz jest inny.

3

Wybierz kotlinx.serialization, Gson lub Moshi, w razie potrzeby var zamiast val, oraz nazwę klasy głównej.

4

Kliknij Kopiuj albo Pobierz, aby zapisać Models.kt.

Konwerter JSON na data class w Kotlinie

Kotlin wczytuje JSON do data class, a każdy obiekt potrzebuje klasy, której właściwości mają właściwe typy, właściwą nullowalność i sposób powrotu do swoich kluczy. Konwerter pisze takie klasy na podstawie próbki, więc długa odpowiedź API staje się kodem Kotlin po jednym wklejeniu.

Jak dobierane są typy.

Wartość JSON Typ Kotlin
"text" String
true / false Boolean
42 (tylko liczby całkowite) Int lub Long powyżej 32 bitów
4.5 (wystąpiła jakakolwiek część dziesiętna) Double
null oraz inny typ String?, Int?
tylko null lub różne rodzaje JsonElement? lub Any?
[ ... ] List<...>
{ } pusty JsonObject lub Map<String, Any?>
{ ... } osobna data class

Brakujące klucze. Wszystkie obiekty tablicy są łączone w jedną klasę. Klucz, który niektóre pomijają, staje się nullowalny z null jako wartością domyślną, ponieważ kotlinx.serialization i Moshi traktują brakujący klucz bez wartości domyślnej jako błąd. kotlinx.serialization odrzuca też klucze, dla których nie ma właściwości, więc każdy klucz próbki dostaje własną.

Nazwy. Właściwości są w lowerCamelCase. Gdy zmienia to klucz, np. user_name na userName, właściwość dostaje @SerialName, @SerializedName lub @Json(name = ...), zależnie od biblioteki. Słowa kluczowe, np. class, są zapisywane w odwróconych apostrofach. Ciągi w adnotacjach poprzedzają znak dolara ukośnikiem, bo Kotlin odczytałby go jako szablon.

Opcje. var zamiast val daje właściwości mutowalne. Pusty obiekt staje się zwykłą klasą, bo data class wymaga co najmniej jednej właściwości. Klasa główna nazywa się Root, chyba że zostanie nazwana inaczej.

Każdy wynik sprawdzono, odczytując kod Kotlin z powrotem i dekodując 9 próbek według domyślnych reguł kotlinx.serialization. Nic, co zostanie wklejone, nie opuszcza przeglądarki.

Najczęściej zadawane pytania

Jak przekonwertować JSON na data class w Kotlinie?

Po wklejeniu próbki JSON do konwertera obok pojawiają się data class, po jednej na obiekt. Z kotlinx.serialization należy dodać wtyczkę i dekodować przez Json.decodeFromString<Root>(text); z Gson użyć Gson().fromJson(text, Root::class.java); z Moshi zbudować adapter dla Root.

Dlaczego niektóre właściwości kończą się na = null?

Klucz, który niektóre obiekty tablicy pomijają, dostaje typ nullowalny i null jako wartość domyślną. kotlinx.serialization i Moshi odrzucają brakujący klucz, jeśli właściwość nie ma wartości domyślnej, więc to właśnie ona pozwala zdekodować każdy obiekt próbki.

Którą bibliotekę wybrać?

kotlinx.serialization to biblioteka samego Kotlina, działa na każdej platformie Kotlin i sprawdza typy podczas kompilacji. Moshi z codegen pasuje do projektów Android, które już używają Retrofit i Okio. Gson jest najstarszy i nie wymaga konfiguracji, ale przy tworzeniu obiektów ignoruje bezpieczeństwo null w Kotlinie i wartości domyślne.

Jak traktowane są klucze takie jak user_name lub class?

Właściwości są w lowerCamelCase, więc user_name staje się userName, a @SerialName, @SerializedName lub @Json(name = ...) zachowuje oryginalny klucz. Klucz będący słowem kluczowym Kotlina, np. class lub object, jest zapisywany w odwróconych apostrofach, co zachowuje klucz jako prawdziwą nazwę właściwości.

Jakie typy dostają liczby w Kotlinie?

Liczby całkowite stają się Int lub Long, gdy wartość przekracza 2 147 483 647, a pole staje się Double, gdy tylko którakolwiek wartość w próbce ma część dziesiętną. Wartości różnych rodzajów stają się JsonElement? w kotlinx.serialization lub Any? w Gson i Moshi.

Czy mój JSON jest wysyłany?

Nie. Konwersja działa w przeglądarce bez żadnego żądania do serwera, a JSON nie jest zapisywany, więc odpowiedzi API z tokenami lub danymi osobowymi zostają na urządzeniu. Po zamknięciu karty nic nie pozostaje.

Źródła

  • Kotlin documentation, keywords and operatorsHard keywords that need backticks as names
  • Kotlin documentation, coding conventions: naming rulesUpperCamelCase classes, lowerCamelCase properties
  • kotlinx.serialization guide, basic serialization@SerialName, optional properties need defaults, unknown keys are errors
  • Moshi README, Kotlin codegen@JsonClass(generateAdapter = true) and @Json(name = ...)

Ostatnia weryfikacja: 16 października 2026.

Stawki i przepisy się zmieniają; przed oparciem się na danej liczbie należy sprawdzić źródło.

Nadal coś nie działa? Zapytaj o narzędzie Konwerter JSON na data class w Kotlinie a odpowiedzieć może każdy, kto zna odpowiedź. Konto nie jest potrzebne.

Powiązane narzędzia

Wszystkie narzędzia dla programistów
Kodowanie i dekodowanie Base64Tekst i pliki do Base64 i z powrotem, z trybem bezpiecznym dla URL i podglądem obrazówKonwerter znacznika czasu UnixZnaczniki czasu Unix na daty i daty na znaczniki czasu, w dowolnej strefie czasowejJSON na TypeScriptGeneruj interfejsy lub typy TypeScript z przykładowego JSONKonwerter CSV na JSONKonwertuj CSV na JSON i JSON na CSV, z podglądem tabeliKonwerter YAML na JSONKonwertuj YAML na JSON i JSON na YAML, z rozwiązanymi kotwicamiKoder i dekoder URLKodowanie procentowe i dekodowanie tekstu oraz adresów URL, z podglądem każdej części linkuKonwerter kolorówHEX, RGB, HSL, HWB, OKLCH i CMYK w obie strony, ze sprawdzaniem kontrastuKonwerter systemów liczbowychDwójkowy, ósemkowy, dziesiętny, szesnastkowy i dowolna podstawa do 36, dokładnie przy każdej wielkości, z kodem uzupełnień do dwóch
Czy to narzędzie było pomocne?
Omnikit

Małe zadania wykonywane w przeglądarce. Bezpłatnie, szybko i prywatnie. Pliki nigdy nie są przesyłane.

Pliki

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Programowanie

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finanse

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
PoradnikiPytaniaO serwisieJak sprawdzamyBiblioteka prawa (beta)PrywatnośćRegulaminUjawnieniaKontaktMore: Exam practice (UGC NET Paper 1)Działa w przeglądarce. Nic nie jest przesyłane. © 2026 Omnikit (theomnikit.com)