Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
23 Ноя 2024
1 мин
586

Использование Jackson для десериализации массива объектов

Одной из распространенных проблем, с которой сталкиваются начинающие разработчики на Java при работе с JSON, является десериализация массива объектов.

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

[
{
«name»: «John»,
«age»: 30
},
{
«name»: «Jane»,
«age»: 25
}
]

И есть класс Person, который имеет поля name и age. Цель — десериализовать этот JSON-массив в List<Person>.

public class Person {
    private String name;
    private int age;
    // getters and setters
}

В Jackson есть несколько способов сделать это. Вот один из простых способов:

ObjectMapper objectMapper = new ObjectMapper();
List&lt;Person&gt; persons = objectMapper.readValue(json, new TypeReference&lt;List&lt;Person&gt;&gt;(){});

В этом коде используется класс TypeReference из библиотеки Jackson, который позволяет преобразовать JSON-массив в список объектов указанного типа.

Когда объект ObjectMapper вызывает метод readValue(), он принимает JSON-строку и класс, в который нужно преобразовать JSON. Вместо прямого указания класса, как Person.class, используется new TypeReference<List<Person>>() {}. Это необходимо для того, чтобы сохранить информацию о типе объектов в списке при десериализации.

Таким образом, можно десериализовать JSON-массив в список объектов с помощью Jackson в Java.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий