Omnikit
РазработкаФайлыФинансыВсе инструменты
Ctrl K
Инструменты для разработкиИнструменты для файловФинансовые калькуляторыВсе инструменты
ГлавнаяИнструменты для разработчиковКонвертер JSON в классы Java
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Конвертер JSON в классы Java

разработка

Превратите пример JSON в POJO, записи или классы Lombok на Java с аннотациями для Jackson

Работает в вашем браузере. Ничего из того, что вы вводите, никуда не отправляется. Проверено 16 октября 2026 г..

Вставьте пример JSON и получите классы Java с аннотациями для Jackson: POJO с геттерами и сеттерами, записи (records) или Lombok @Data. Целые числа становятся int, а свыше 2 147 483 647 — long, любая дробь делает поле double, а значение null или отсутствующее использует класс-обёртку, например Integer.

Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал

Дальше:
  • Конвертер JSON в data class Kotlin Превратите пример JSON в data class Kotlin для kotlinx.serialization, Gson или Moshi
  • Форматирование и проверка JSON Форматирование, проверка, минификация и сортировка JSON с точным местом ошибки

Как преобразовать JSON в класс Java

1

Вставьте пример JSON, например ответ API, в левое поле.

2

Java появляется по мере ввода: один Root.java с вложенным статическим классом на каждый объект, полями в camelCase и @JsonProperty там, где ключ отличается.

3

Выберите POJO с геттерами и сеттерами, запись (Java 16+) или Lombok @Data и задайте имя корневого класса.

4

Нажмите «Копировать» или «Скачать», чтобы сохранить Root.java, и читайте JSON через ObjectMapper из Jackson.

О конвертере JSON в классы Java

Java читает JSON в классы, обычно с помощью Jackson, и каждому объекту в JSON нужен класс, поля которого имеют правильные типы и имена. Этот конвертер пишет такие классы по примеру, так что длинный ответ API превращается в компилируемый Java за одну вставку.

Как выбираются типы.

Значение JSON Тип Java
"text" String
true / false boolean
42 (только целые числа) int или long за пределами 32 бит
4.5 (встретилась любая дробь) double
null или отсутствует в некоторых элементах Integer, Boolean, Double
только null или смешанные виды Object
[ ... ] List<...>
{ } пустой Map<String, Object>
{ ... } вложенный статический класс

Один файл. Результат — один Root.java: корневой класс содержит все остальные как вложенные классы public static, которые Jackson умеет создавать и которым не нужны отдельные файлы. Если JSON — массив или одиночное значение, комментарий называет тип для чтения, например List<Root.RootItem>.

Имена и ключи. Поля пишутся в camelCase, так что user_name становится userName, а @JsonProperty("user_name") сохраняет ключ. Ключевые слова Java получают подчёркивание, например class_. Поле вроде xCoord пишется как xcoord, потому что иначе Jackson связал бы его с геттером getXCoord под другим именем. Пустой ключ игнорируется через @JsonIgnoreProperties, так как Jackson не может дать ему имя.

Три стиля. POJO имеет приватные поля, геттеры и сеттеры и работает везде. Запись (Java 16+) короткая и неизменяемая. Lombok @Data сохраняет поля и поручает Lombok написать остальное.

Результат POJO для 9 примеров скомпилирован javac и прочитан Jackson 2.17, причём неизвестные ключи и null в примитивах считались ошибками. Ничто из вставленного не покидает браузер.

Частые вопросы

Как преобразовать JSON в класс Java?

Вставьте пример JSON в конвертер, и рядом появится Java: один Root.java с вложенным статическим классом для каждого объекта. Добавьте Jackson в проект и читайте JSON через new ObjectMapper().readValue(json, Root.class), который заполняет каждое поле по его ключу.

Почему классы вложенные и статические?

Если поместить все классы внутрь Root, вся модель остаётся в одном файле, который компилируется как есть. Jackson может создать вложенный класс, только если он статический, потому что внутреннему классу сначала нужен экземпляр внешнего, поэтому каждый вложенный класс объявлен как public static.

Когда поле имеет тип Integer, а не int?

Поле использует класс-обёртку, например Integer, Long, Double или Boolean, когда в примере оно равно null или некоторые объекты пропускают ключ. Примитивный int не может хранить null, а отсутствующий ключ молча стал бы 0, поэтому класс-обёртка отличает отсутствующее значение от нуля.

Что выбрать: POJO, запись или Lombok?

Записи, начиная с Java 16, самые короткие и неизменяемые, и Jackson 2.12 и новее читает их напрямую. POJO с геттерами и сеттерами работает на любой версии Java и с любой библиотекой. Аннотация @Data из Lombok пишет геттеры и сеттеры за вас при компиляции, и исходный код остаётся коротким.

Почему ключ вроде xCoord записывается как поле xcoord?

Jackson находит свойства через геттеры и называет getXCoord как xcoord, понижая начальные заглавные буквы. Поле с именем xCoord тогда не совпало бы со своим геттером, и свойство раздвоилось бы. Поле называется xcoord, а @JsonProperty("xCoord") сохраняет исходный ключ.

Загружается ли мой JSON куда-нибудь?

Нет. Преобразование выполняется в вашем браузере без запросов к серверу, и JSON не сохраняется, так что ответы API с токенами или личными данными остаются на вашем устройстве. Закройте вкладку, и ничего не останется.

Источники

  • 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

Последняя проверка: 16 октября 2026 г..

Ставки и правила меняются; проверьте источник, прежде чем полагаться на цифру.

Всё ещё не получается? Задайте вопрос об инструменте «Конвертер JSON в классы Java» и ответить может любой, кто знает. Учётная запись не нужна.

Похожие инструменты

Все инструменты для разработчиков
Кодирование и декодирование Base64Текст и файлы в Base64 и обратно, с режимом для URL и предпросмотром изображенийКонвертер Unix-времениМетки времени Unix в даты и даты в метки времени, в любом часовом поясеJSON в TypeScriptСоздайте интерфейсы или типы TypeScript по образцу JSONКонвертер CSV в JSONПреобразуйте CSV в JSON и JSON в CSV с предпросмотром таблицыКонвертер YAML в JSONПреобразуйте YAML в JSON и JSON в YAML с разрешёнными якорямиКодирование и декодирование URLПроцентное кодирование и декодирование текста и URL, с разбором каждой части ссылкиКонвертер систем счисленияДвоичная, восьмеричная, десятичная, шестнадцатеричная и любая система до 36, точно при любом размере, с дополнительным кодомColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
Был ли этот инструмент полезен?
Omnikit

Небольшие задачи прямо в вашем браузере. Бесплатно, быстро и конфиденциально. Файлы никогда не загружаются на сервер.

Файлы

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

Разработка

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

Финансы

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
РуководстваВопросыО сайтеКак мы проверяемБиблиотека законов (бета)КонфиденциальностьУсловияРаскрытие информацииКонтактыMore: Exam practice (UGC NET Paper 1)Работает в вашем браузере. Ничего не загружается на сервер. © 2026 Omnikit (theomnikit.com)