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 klasy Java
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Konwerter JSON na klasy Java

programowanie

Zamiana próbki JSON na POJO, rekordy lub klasy Lombok w Javie z adnotacjami dla Jacksona

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

Wystarczy wkleić próbkę JSON, aby otrzymać klasy Java z adnotacjami dla Jacksona, jako POJO z getterami i setterami, rekordy lub Lombok @Data. Liczby całkowite stają się int, powyżej 2 147 483 647 long, każda wartość dziesiętna zmienia pole na double, a wartość null lub brakująca używa typu opakowującego, np. Integer.

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 data class w Kotlinie Zamiana próbki JSON na data class w Kotlinie dla kotlinx.serialization, Gson lub Moshi
  • Formater i walidator JSON Formatowanie, walidacja, minifikacja i sortowanie JSON z dokładną pozycją błędu

Jak przekonwertować JSON na klasę Java

1

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

2

Kod Java pojawia się w trakcie pisania: jeden plik Root.java z zagnieżdżoną klasą statyczną na każdy obiekt, polami w camelCase i @JsonProperty tam, gdzie klucz jest inny.

3

Wybierz POJO z getterami i setterami, rekord (Java 16+) lub Lombok @Data i ustaw nazwę klasy głównej.

4

Kliknij Kopiuj albo Pobierz, aby zapisać Root.java, i odczytaj JSON za pomocą ObjectMapper z Jacksona.

Konwerter JSON na klasy Java

Java wczytuje JSON do klas, zwykle za pomocą Jacksona, a każdy obiekt w JSON potrzebuje klasy, której pola mają właściwe typy i nazwy. Konwerter pisze takie klasy na podstawie próbki, więc długa odpowiedź API staje się kompilującym się kodem Java po jednym wklejeniu.

Jak dobierane są typy.

Wartość JSON Typ Java
"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 lub brak w niektórych elementach Integer, Boolean, Double
tylko null lub różne rodzaje Object
[ ... ] List<...>
{ } pusty Map<String, Object>
{ ... } zagnieżdżona klasa statyczna

Jeden plik. Wynikiem jest pojedynczy plik Root.java: klasa główna zawiera każdą inną klasę jako zagnieżdżoną klasę public static, którą Jackson potrafi utworzyć i która nie wymaga dodatkowych plików. Gdy JSON jest tablicą lub pojedynczą wartością, komentarz podaje typ do odczytu, np. List<Root.RootItem>.

Nazwy i klucze. Pola są w camelCase, więc user_name staje się userName, a @JsonProperty("user_name") zachowuje klucz. Słowa kluczowe Javy dostają podkreślnik, np. class_. Pole takie jak xCoord jest zapisywane jako xcoord, bo inaczej Jackson połączyłby je z getterem getXCoord pod inną nazwą. Pusty klucz jest pomijany przez @JsonIgnoreProperties, ponieważ Jackson nie potrafi go nazwać.

Trzy style. POJO ma prywatne pola, gettery i settery i działa wszędzie. Rekord (Java 16+) jest krótki i niemutowalny. Lombok @Data zachowuje pola, a resztę pisze Lombok.

Wynik POJO dla 9 próbek skompilowano javac i odczytano Jacksonem 2.17, traktując nieznane klucze i null w typach prostych jako błędy. Nic, co zostanie wklejone, nie opuszcza przeglądarki.

Najczęściej zadawane pytania

Jak przekonwertować JSON na klasę Java?

Po wklejeniu próbki JSON do konwertera obok pojawia się kod Java: jeden plik Root.java z zagnieżdżoną klasą statyczną dla każdego obiektu. Należy dodać Jacksona do projektu i odczytać JSON przez new ObjectMapper().readValue(json, Root.class), co wypełnia każde pole na podstawie jego klucza.

Dlaczego klasy są zagnieżdżone i statyczne?

Umieszczenie wszystkich klas w Root utrzymuje cały model w jednym pliku, który kompiluje się bez zmian. Jackson może utworzyć klasę zagnieżdżoną tylko wtedy, gdy jest statyczna, bo klasa wewnętrzna wymaga najpierw instancji klasy zewnętrznej, dlatego każda zagnieżdżona klasa jest zadeklarowana jako public static.

Kiedy pole ma typ Integer zamiast int?

Pole używa typu opakowującego, np. Integer, Long, Double lub Boolean, gdy w próbce ma wartość null albo niektóre obiekty pomijają klucz. Prosty int nie przechowa null, a brakujący klucz po cichu stałby się 0, więc typ opakowujący odróżnia brak wartości od zera.

Co wybrać: POJO, rekord czy Lombok?

Rekordy, od Javy 16, są najkrótsze i niemutowalne, a Jackson od wersji 2.12 odczytuje je bezpośrednio. POJO z getterami i setterami działa w każdej wersji Javy i z każdą biblioteką. Adnotacja @Data z Lomboka pisze gettery i settery podczas kompilacji, dzięki czemu kod źródłowy pozostaje krótki.

Dlaczego klucz taki jak xCoord staje się polem xcoord?

Jackson znajduje właściwości przez gettery i nazywa getXCoord jako xcoord, zmniejszając początkowe wielkie litery. Pole o nazwie xCoord nie trafiłoby wtedy na własny getter, a właściwość rozdzieliłaby się na dwie. Pole nazywa się xcoord, a @JsonProperty("xCoord") zachowuje oryginalny klucz.

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

  • The Java Language Specification, chapter 3 (identifiers and keywords)Which names are reserved; string literal escapes
  • The Java Language Specification, §8.10 Record classesRecord components, nested records being static
  • Jackson annotations wiki@JsonProperty and @JsonIgnoreProperties
  • Project Lombok, @DataGetters, setters, equals and toString generated from fields

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 klasy Java 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)