ObjectMapper: параметризация

522
02 июня 2018, 12:10

У меня есть JSON, который нужно прочитать в объект при помощи ObjectMapper. Выглядит это так:

private final ObjectMapper mapper = new ObjectMapper();
Report<? extends BaseLog> toReport(String json) throws IOException {
        return mapper.readValue(json, Report.class);
}

При этом, IDEA ругается на параметризацию, мол, Unchecked Assignment, то есть, хочет от меня, чтобы Report был именно <? extends BaseLog>.

Вот так, как я понял, не получится:

Report<? extends BaseLog> toReport(String json) throws IOException {
        return mapper.readValue(json, Report<? extends BaseLog>.class);
}

Каким образом можно параметризировать объект при его маппинге?

Answer 1

Используйте TypeReference

TypeReference<Report<? extends BaseLog>> type = new TypeReference<Report<? extends BaseLog>>() {};
mapper.readValue(json, type);
READ ALSO
MockMvc: как отправить JSON как RequestPart?

MockMvc: как отправить JSON как RequestPart?

У меня есть контроллер, который принимает два RequestPart: JSON и MultipartFile:

200
Как сделать сайт статичным?

Как сделать сайт статичным?

Хочу что бы сайт отображался на всех устройствах одинаково(отображался так как на 1905px отображается)

179
Что лучше использовать и как?

Что лучше использовать и как?

Что использовать margin или padding, и каким образом? Верстка на bootstrap

200
Сбор HTML с сайтов. Python

Сбор HTML с сайтов. Python

Встал вопрос: Есть ли какой-нибудь способ собрать HTML код с интересующего меня сайта и как-то вывести это на экран или записать в файл? (Python)...

187