Одной из распространенных проблем, с которой сталкиваются начинающие разработчики на 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<Person> persons = objectMapper.readValue(json, new TypeReference<List<Person>>(){});
В этом коде используется класс TypeReference из библиотеки Jackson, который позволяет преобразовать JSON-массив в список объектов указанного типа.
Когда объект ObjectMapper вызывает метод readValue(), он принимает JSON-строку и класс, в который нужно преобразовать JSON. Вместо прямого указания класса, как Person.class, используется new TypeReference<List<Person>>() {}. Это необходимо для того, чтобы сохранить информацию о типе объектов в списке при десериализации.
Таким образом, можно десериализовать JSON-массив в список объектов с помощью Jackson в Java.
Перейти в телеграм, чтобы получить результаты теста



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