Превратите пример JSON в POJO, записи или классы Lombok на Java с аннотациями для Jackson
Работает в вашем браузере. Ничего из того, что вы вводите, никуда не отправляется. Проверено 16 октября 2026 г..Вставьте пример JSON и получите классы Java с аннотациями для Jackson: POJO с геттерами и сеттерами, записи (records) или Lombok @Data. Целые числа становятся int, а свыше 2 147 483 647 — long, любая дробь делает поле double, а значение null или отсутствующее использует класс-обёртку, например Integer.
Эта страница переведена машинным способом с английского оригинала. Перевод ещё не проверен человеком, поэтому ориентируйтесь на английскую версию. Читать английский оригинал
Вставьте пример JSON, например ответ API, в левое поле.
Java появляется по мере ввода: один Root.java с вложенным статическим классом на каждый объект, полями в camelCase и @JsonProperty там, где ключ отличается.
Выберите POJO с геттерами и сеттерами, запись (Java 16+) или Lombok @Data и задайте имя корневого класса.
Нажмите «Копировать» или «Скачать», чтобы сохранить Root.java, и читайте JSON через ObjectMapper из Jackson.
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: один Root.java с вложенным статическим классом для каждого объекта. Добавьте Jackson в проект и читайте JSON через new ObjectMapper().readValue(json, Root.class), который заполняет каждое поле по его ключу.
Если поместить все классы внутрь Root, вся модель остаётся в одном файле, который компилируется как есть. Jackson может создать вложенный класс, только если он статический, потому что внутреннему классу сначала нужен экземпляр внешнего, поэтому каждый вложенный класс объявлен как public static.
Поле использует класс-обёртку, например Integer, Long, Double или Boolean, когда в примере оно равно null или некоторые объекты пропускают ключ. Примитивный int не может хранить null, а отсутствующий ключ молча стал бы 0, поэтому класс-обёртка отличает отсутствующее значение от нуля.
Записи, начиная с Java 16, самые короткие и неизменяемые, и Jackson 2.12 и новее читает их напрямую. POJO с геттерами и сеттерами работает на любой версии Java и с любой библиотекой. Аннотация @Data из Lombok пишет геттеры и сеттеры за вас при компиляции, и исходный код остаётся коротким.
Jackson находит свойства через геттеры и называет getXCoord как xcoord, понижая начальные заглавные буквы. Поле с именем xCoord тогда не совпало бы со своим геттером, и свойство раздвоилось бы. Поле называется xcoord, а @JsonProperty("xCoord") сохраняет исходный ключ.
Нет. Преобразование выполняется в вашем браузере без запросов к серверу, и JSON не сохраняется, так что ответы API с токенами или личными данными остаются на вашем устройстве. Закройте вкладку, и ничего не останется.
Ставки и правила меняются; проверьте источник, прежде чем полагаться на цифру.
Всё ещё не получается? Задайте вопрос об инструменте «Конвертер JSON в классы Java» и ответить может любой, кто знает. Учётная запись не нужна.