Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpJsInr 137 of 322 menu
◀ ▶

Введение в сериализацию JSON в Java

Сериализация - перевод значения в последовательность символов, которую можно сохранить или передать. Обратный шаг - десериализация: из текста снова получают поля объекта с теми же данными.

Для обмена между программами часто берут формат JSON: фигурные скобки, пары имя-значение, кавычки у строк. В Java нет встроенного кодека для произвольных классов, но библиотека Jackson по полям типа строит текст и читает его обратно.

Запись каталога удобно описать через record с названием и количеством. Компилятор даёт конструктор и методы доступа к компонентам, а Jackson использует их как свойства JSON:

public record CatalogItem(String title, int qty) {}

После подключения Jackson готовый объект можно превратить в одну строку. Для элемента с названием "notebook" и количеством 3 текст будет по смыслу равен {"title":"notebook","qty":3} - имена ключей совпадают с именами компонентов record.

Полный фрагмент программы с записью в строку выглядит так:

import com.fasterxml.jackson.databind.ObjectMapper; public record CatalogItem(String title, int qty) {} public class Main { public static void main(String[] args) throws Exception { CatalogItem item = new CatalogItem("notebook", 3); ObjectMapper mapper = new ObjectMapper(); String text = mapper.writeValueAsString(item); System.out.println(text); } }

В консоли появляется JSON без переносов. Эту же строку можно передать в другой процесс или положить в файл, а затем восстановить CatalogItem с теми же значениями полей.

Сам record в обычном коде ведёт себя как обычно: сравнение по компонентам и неизменяемость остаются. Дополнительно появляется мост между объектом в памяти и текстовым представлением через ObjectMapper.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить