Веб-сервис возвращает пустую строку вместо NULL, что приводит к сбою Джексона. Итак, я создал собственный парсер и пытаюсь разобрать его вручную? Любая идея, как я мог этого добиться?
Что я здесь делаю не так? Все, что я пытаюсь сделать, это проанализировать JSON на объект, как обычно. Имена полей добавляются к моим свойствам с помощью @JsonProperty, поэтому синтаксический анализатор должен знать, как их преобразовать.
public class InsertReplyDeserializer extends JsonDeserializer<ListingReply> {
@Override
public ListingReply deserialize(JsonParser jsonParser, DeserializationContext arg1)
throws IOException, JsonProcessingException {
ObjectCodec oc = jsonParser.getCodec();
JsonNode node = oc.readTree(jsonParser);
// If service returns "" instead of null return a NULL object and don't try to parse
if (node.getValueAsText() == "")
return null;
ObjectMapper objectMapper = new ObjectMapper();
ListingReply listingReply = objectMapper.readValue(node, ListingReply.class);
return listingReply;
}
}