UTILS.
100% у браузері

JSON у Java POJO

Створіть класи Java POJO зі зразка JSON з анотаціями Jackson чи Gson, згенерованими геттерами й сеттерами та обгорнутими типами для nullable-полів.

результат

Про цей інструмент

Інструмент JSON у Java POJO перетворює вставлений зразок JSON на класи моделей Java так само, як це робить jsonschema2pojo, але миттєво у вашому браузері. Він розбирає JSON, рекурсивно визначає типи Java і видає один клас на об'єкт: рядки стають String, цілі числа — int або long, інші числа — double, булеві — boolean, масиви — List<T>, а вкладені об'єкти — власними класами PascalCase, оголошеними перед батьками, що їх використовують.

Увесь розбір і генерація виконуються локально за допомогою JSON.parse і звичайного JavaScript, тож ваші дані ніколи не залишають сторінку. Поля перетворюються на camelCase; коли ключ JSON ще не в camelCase, інструмент додає @JsonProperty("originalKey") (Jackson) або @SerializedName("originalKey") (Gson) чи нічого в режимі звичайних полів. Поля, що можуть бути null у будь-якому зразку, використовують обгорнуті типи (Integer, Long, Double, Boolean), тож null можна представити. Класи Jackson несуть @JsonIgnoreProperties(ignoreUnknown = true) для сумісності наперед.

Перемикач стилю анотацій обирає Jackson (за замовчуванням), Gson або без анотацій, і включаються лише справді використовувані імпорти. Перемикач аксесорів обирає між згенерованими методами getX()/setX() на приватних полях (за замовчуванням) чи звичайними публічними полями. Скопіюйте результат або завантажте його як файл .java, щоб одразу додати у ваш проєкт.

Поширені запитання

Які типи Java виробляються?
string у String, ціле у int (long, коли значення перевищує діапазон int), нецілі числа у double, булеве у boolean, масив у List<T>, а об'єкт в іменований клас. Поля, що можуть бути null, використовують обгорнуті типи — Integer, Long, Double, Boolean.
Анотації Jackson чи Gson?
Перемикач анотацій обирає Jackson (@JsonProperty плюс @JsonIgnoreProperties(ignoreUnknown = true)), Gson (@SerializedName) або жодних. Анотації додаються лише тоді, коли назва поля camelCase відрізняється від оригінального ключа JSON.
Чи отримаю я геттери й сеттери?
За замовчуванням кожне приватне поле отримує згенеровані getX() і setX(). Перемкніть перемикач аксесорів на звичайні публічні поля, якщо ви віддаєте перевагу голим полям у стилі record без методів-аксесорів.
Чи надсилається мій JSON кудись?
Ні. JSON розбирається, а класи генеруються повністю у вашому браузері за допомогою звичайного JavaScript. Нічого не завантажується, тож ви можете безпечно вставляти внутрішні відповіді API.

Більше інструментів