Я использую фреймворк Spring для получения JSON из запроса GET. Все работало просто замечательно, пока неправильное значение не был поставлен в БД, и это происходит:Игнорирование недопустимых значений в Джексоне, используя весну
02-25 14:46:04.035: E/AndroidRuntime(12271): org.springframework.http.converter.HttpMessageNotReadableException: Could not read JSON: Can not construct instance of java.util.Date from String value '-3600': not a valid representation (error: Failed to parse Date value '-3600': Can not parse date "-3600": not compatible with any of standard forms ("yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd"))
Как я настроить Джексон игнорировать их чтения/parseble значения? я скорее имею нуль или так, что мой полный json-анализ не сработает ...
вот мой объект, который я пытаюсь проанализировать, поскольку вы можете видеть, что я пытался игнорировать свойства с помощью jsonignoreproperties в моем коде.
поступления:
public class Receipt {
public String categories;
@JsonProperty("expiration_date")
public Date expirationDate;
public String image1;
public String image2;
(.. more properties, getters and setters ..)
И как я пытаюсь разобрать:
RestTemplate restTemplate = new RestTemplate();
// instellen dat de converter ongedefineerde parameters negeert
HttpMessageConverter customconver = new MappingJackson2HttpMessageConverter();
((MappingJackson2HttpMessageConverter) customconver).getObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); //here the ignore unknown
restTemplate.getMessageConverters().add(customconver);
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
try {
// GET Request
ResponseEntity<ReceiptMessage> response = restTemplate.exchange(urlPath, HttpMethod.GET,requestEntity,ReceiptMessage.class);
иметь в виду, что прежде, чем значение -3600 мой парсер работал отлично, так что нет никаких проблем.
Есть ли способ игнорировать такие ошибки?