Парсим JSON и XML в Java библиотеками Gson, Jackson, JAXB [Вебинар]
Vložit
- čas přidán 7. 07. 2024
- Вебинар для студентов курса Java-разработчик на платформе Skillbox.ru skillbox.ru/
Тема "Работа с текстовыми форматами JSON и XML в Java. Сериализация и десериализация с использованием библиотек GSON, Jackson, JAXB"
- Разбираем синтаксис JSON/XML
- Викторина на понимание синтаксиса :)
- Простой парсинг курсов валют в record с использованием аннотаций
- Пишем адаптер для сериализации/десериализации JSON
- Используем jsr-310 для работы с датами и временем в Jackson
- Десериализуем XML с помощью JAXB уже в простые классы
Спикер: Шибков Константин
Презентация:
github.com/sendelufa/lesson_j...
Проект по итогу вебинара, проведен дополнительный рефакторинг:
github.com/sendelufa/lesson_j...
00:00 Приветствие
02:09 Что такое JSON?
05:52 Синтаксис JSON
13:13 Викторина валидности JSON
16:53 JSON↔POJO
21:07 Библиотеки Java для JSON
23:21 Лайфкодинг - создание проекта
26:35 Написание Http клиента
34:17 Ответы на вопросы
38:08 GSON: Создание классов проекций полей JSON
43:41 GSON: Подключение библиотеки
44:52 GSON: Настройки полей классов с помощью аннотаций
50:28 GSON: Десериализация строки в ZonedDateTime через адаптер
50:28 GSON: Сериализация объектов в JSON
01:02:55 Jackson: Подлючение и создание объектов
01:06:48 Jackson: Десериализация
01:10:00 Jackson: @JsonProperty
01:10:00 Jackson: @JsonIgnoreProperties
01:12:40 Jackson: Донастройка классов
01:14:47 Jackson: Десериализация строки в ZonedDateTime
01:21:47 Ответы на вопросы
01:32:23 Что такое XML?
01:32:23 Синтаксис XML
01:39:24 JSON vs XML
01:46:17 JAXB: Подлючение и создание объектов
01:46:17 JAXB: Десериализация
01:46:17 JAXB: Донастройка классов через аннотации и сериализация
02:13:07 JAXB: Ответы на вопросы
Прям классная лекция!!! Спасибо, Константин👍👍👍
одна из самых лучших лекций благодарю!
Шикарная лекция. Всё очень подробно. Спасибо!
Спасибо за колоссальный труд! Знаком с тобой по видео на платформе Skillbox))
Большое спасибо за вебинар и за запись! Появился вопрос: Почему numCode Integer, а не int (или String, если ведущий ноль имеет значение)?
Основная причина - вдруг в поле нам придет null, мы никак не сможем его преобразовать в int. Или если поле не пришло, то что туда вписать? 0 по умолчанию будет? Но мы так не поймем что этот ноль настоящий или данные не пришли.
Также по-хорошему, передавая дальше в сервис мы входные данные уже будем преобразовывать в бизнес объекты, на этом этапе можно уже сделать валидацию полученных данных.
Можно пойти другим путем, валидировать данные при создании объектов которые получаем из json/xml, и не создавать объект если нам пришел null, тогда можно использовать int.
По мне использовать int во входных данных не лучший вариант.
@@KonstantinShibkov Спасибо, понял!
В Java with Ant а не Maven все будет так же работать?
будет работать даже без сборщика, если зависимости добавить