Я отправляю запрос контроллеру https://pastebin.com/d4SHZuZh. Десериализацию JSON с помощью Builder из этого класса.@JsonDeserialize(builder = ContributionNewRequest.Builder.class)
Элементами коллекции являются ? extends MovieInfoDTO
объекты, наследуемые от MovieInfoDTO
.
при получении элементов, например, из списка elementsToAdd
contribution.getElementsToAdd()
.forEach(boxOffice -> {
...
});
itОказывается, что элемент boxOffice
является объектом java.util.LinkedHashMap
.
В Интернете я обнаружил упоминание http://www.baeldung.com/jackson-collection-array, что JSON по умолчанию устанавливает элементы коллекции как LinkedHashMap
.
Что мне нужно сделать, чтобы сделать объекты правильного типа?
java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.jonki.popcorn.common.dto.movie.BoxOffice
at java.util.ArrayList.forEach(ArrayList.java:1257) ~[na:1.8.0_171]