Парсим JSON и XML в Java библиотеками Gson, Jackson, JAXB [Вебинар]

Sdílet
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: Ответы на вопросы

Komentáře • 9

  • @user-lx4dc1ls3e
    @user-lx4dc1ls3e Před 8 měsíci +1

    Прям классная лекция!!! Спасибо, Константин👍👍👍

  • @user-ru6mp1hk7l
    @user-ru6mp1hk7l Před 3 měsíci

    одна из самых лучших лекций благодарю!

  • @dartRichard
    @dartRichard Před 5 měsíci

    Шикарная лекция. Всё очень подробно. Спасибо!

  • @anjelomanoranjan
    @anjelomanoranjan Před 8 měsíci

    Спасибо за колоссальный труд! Знаком с тобой по видео на платформе Skillbox))

  • @jornjat
    @jornjat Před 8 měsíci +1

    Большое спасибо за вебинар и за запись! Появился вопрос: Почему numCode Integer, а не int (или String, если ведущий ноль имеет значение)?

    • @KonstantinShibkov
      @KonstantinShibkov  Před 8 měsíci +1

      Основная причина - вдруг в поле нам придет null, мы никак не сможем его преобразовать в int. Или если поле не пришло, то что туда вписать? 0 по умолчанию будет? Но мы так не поймем что этот ноль настоящий или данные не пришли.
      Также по-хорошему, передавая дальше в сервис мы входные данные уже будем преобразовывать в бизнес объекты, на этом этапе можно уже сделать валидацию полученных данных.
      Можно пойти другим путем, валидировать данные при создании объектов которые получаем из json/xml, и не создавать объект если нам пришел null, тогда можно использовать int.
      По мне использовать int во входных данных не лучший вариант.

    • @jornjat
      @jornjat Před 8 měsíci +1

      @@KonstantinShibkov Спасибо, понял!

  • @softscrypt3641
    @softscrypt3641 Před 2 dny

    В Java with Ant а не Maven все будет так же работать?

    • @KonstantinShibkov
      @KonstantinShibkov  Před 2 dny

      будет работать даже без сборщика, если зависимости добавить