Чтобы проанализировать некоторые результаты веб-сервиса, у меня есть Java-компонент, который Джексон может проанализировать следующим образом:
Код: Выделить всё
ObjectMapper mapper = new ObjectMapper();
mapper.readValue(in, ResultPage.class);
Теперь внутри моей ResultPage, среди других данных, у меня есть список результатов (полезная нагрузка, которую я ищу). В зависимости от запроса, который выдает результат, тип перечисленных документов может различаться (Документы, Теги, Ключевые слова и т. д.), но общий формат списка не меняется. Таким образом, я сделал свой bean-компонент ResultPage универсальным типом, содержащим такой список результатов:
Код: Выделить всё
public class ResultPage {
...
private List results;
...
}
В качестве следующего шага мне придется вызвать синтаксический анализатор, предоставляя этот тип, и я теряюсь в
Код: Выделить всё
public ResultPage parseResultPage(InputStream in, Class valueType) throws IOException {
return mapper.readValue(in, ResultPage.class);
}
Также эта (казалось бы, более простая попытка) у меня не компилируется:
Код: Выделить всё
ResultPage rp = mapper.readValue(responseEntity.getContent(), ResultPage.class);
Как мне заставить такую настройку работать?
Подробнее здесь:
https://stackoverflow.com/questions/793 ... of-t-beans