UTILS.
100% w przeglądarce

JSON na Java POJO

Utwórz klasy Java POJO z przykładu JSON, z adnotacjami Jackson lub Gson, wygenerowanymi getterami i setterami oraz opakowanymi typami dla pól nullable.

wynik

O tym narzędziu

Narzędzie JSON na Java POJO konwertuje wklejony przykład JSON w klasy modelu Java, tak jak robi to jsonschema2pojo, ale natychmiast w Twojej przeglądarce. Parsuje JSON, rekurencyjnie wnioskuje typy Java i emituje jedną klasę na obiekt: łańcuchy stają się String, liczby całkowite int lub long, inne liczby double, wartości logiczne boolean, tablice List<T>, a zagnieżdżone obiekty otrzymują własne klasy PascalCase deklarowane przed rodzicami, którzy ich używają.

Całe parsowanie i generowanie działają lokalnie za pomocą JSON.parse i czystego JavaScriptu, więc Twoje ładunki nigdy nie opuszczają strony. Pola są zapisywane w camelCase; gdy klucz JSON nie jest jeszcze w camelCase, narzędzie dodaje @JsonProperty("originalKey") (Jackson) lub @SerializedName("originalKey") (Gson), albo nic w trybie zwykłych pól. Pola, które mogą być null w dowolnym przykładzie, używają opakowanych typów (Integer, Long, Double, Boolean), aby null był reprezentowalny. Klasy Jackson noszą @JsonIgnoreProperties(ignoreUnknown = true) dla kompatybilności w przód.

Przełącznik stylu adnotacji wybiera Jackson (domyślnie), Gson lub brak adnotacji, a dołączane są tylko faktycznie używane importy. Przełącznik akcesorów wybiera między wygenerowanymi metodami getX()/setX() na prywatnych polach (domyślnie) a zwykłymi publicznymi polami. Skopiuj wynik lub pobierz go jako plik .java, aby wstawić go bezpośrednio do swojego projektu.

Najczęściej zadawane pytania

Które typy Java są tworzone?
string na String, liczba całkowita na int (long, gdy wartość przekracza zakres int), liczba niecałkowita na double, wartość logiczna na boolean, tablica na List<T>, a obiekt na nazwaną klasę. Pola, które mogą być null, używają opakowanych typów — Integer, Long, Double, Boolean.
Adnotacje Jackson czy Gson?
Przełącznik adnotacji wybiera Jackson (@JsonProperty plus @JsonIgnoreProperties(ignoreUnknown = true)), Gson (@SerializedName) lub żadne. Adnotacje są dodawane tylko wtedy, gdy nazwa pola camelCase różni się od oryginalnego klucza JSON.
Czy otrzymam gettery i settery?
Domyślnie każde prywatne pole otrzymuje wygenerowane getX() i setX(). Przełącz akcesory na zwykłe publiczne pola, jeśli wolisz gołe pola w stylu rekordów bez metod dostępowych.
Czy mój JSON jest gdziekolwiek wysyłany?
Nie. JSON jest parsowany, a klasy generowane w całości w Twojej przeglądarce za pomocą czystego JavaScriptu. Nic nie jest przesyłane, więc możesz bezpiecznie wkleić wewnętrzne odpowiedzi API.

Więcej narzędzi