подержанной версии: 2.3.0 ДжексонаДжексон обработка ошибок
Я следующий кодом
try {
ObjectMapper mapper = new ObjectMapper();
MenuItem[] menuItems = mapper.readValue(result, MenuItem.class);
return menuItems;
}
catch (Exception e) {
Log.error("Exception while parsing json", e);
}
POJO
public class MenuItem {
public String dataUrl;
}
JSON
[{
"dataUrl": ""
},
{
"dataUrl": []
}]
Это действительно упрощенный пример к кости, помните, что я имеют нулевой контроль над json. Выше json не анализирует, скорее всего дескриптор String не может обрабатывать массив, по крайней мере, это будет довольно логично.
После expcetion происходит: com.fasterxml.jackson.databind.JsonMappingException: Невозможно десериализации экземпляр java.lang.String из START_ARRAY лексем
Вопрос в том, как добиться того, что когда-либо проблема происходит в одном пункте в json (если json действительно), он просто пропускает один элемент, но анализирует остальные. Прямо сейчас любая проблема просто заставляет ничего не разбирать. Я знаю аннотации, чтобы игнорировать неизвестные свойства, но есть случайность различных проблем, которые могут произойти, и в моем случае это происходит, и они просто заканчиваются на пустой странице, а не на странице с 5% содержимого.
Спасибо, это может сработать, но если у вас есть hundrets объектов в вашей модели, написать такой синтаксический анализатор для каждого из них немного утомительно, должно быть какое-то общее решение, я бы ожидал даже некоторых действительно простых где-то установлен флаг, я просто не могу его найти. –