Привет, ребята У меня проблема на Java. Проблема заключается в разборе JSON с Джексоном, как мне было поручено. Мой JSON хорошо разбирается, это не проблема. Проблема заключается в том, что у меня есть несколько элементов JSON в одном JSON. Я разобран это так:Java ClassCastException при получении JSON-анализируемого java-объекта
ObjectMapper objectMapper = new ObjectMapper();
try {
List<Unit> unitList = objectMapper.readValue(json,List.class);
System.out.println("UnitSize " + String.valueOf(unitList.size()));
System.out.println(unitList.get(0).getUnitEmail());
} catch (IOException e) {
e.printStackTrace();
}
и в UnitSize он скажет мне, что у меня есть ровно 5 объектов типа блока, который в порядке, но когда я хочу, чтобы получить что-то из списка он говорит меня это:
Exception in thread "main" java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.reddatura.API.HTTPRequest$Unit
Я искал его, но ничего значимого. Что должно быть проблемой
EDIT:
вот мой класс фрагмент кода:
@JsonIgnoreProperties(ignoreUnknown = true)
public class Unit
{
@JsonProperty("unitid")
int unitId;
@JsonProperty("unitname")
String unitName;
@JsonProperty("unitlogo")
String unitLogo;
@JsonProperty("unitaddress")
String unitAddr;
//other fields, getters setters
@JsonCreator
public Unit()
{
}
}
Я хочу, чтобы разобрать в этой модели
Вам может понадобиться предоставить еще один код. Где именно вы кастинг? – bmartins
Вы не можете отнести блок в список. Вам придется перебирать список и получать объекты по одному –
Ваш список содержит LinkedHashMap, а не Unit – ToYonos