Уеб услугата връща празен низ вместо NULL, което води до срив на Jackson. Така че създадох персонализиран анализатор и се опитвам да го анализирам ръчно? Някаква идея как мога да постигна това?
Какво правя грешно тук? Всичко, което се опитвам да направя, е да анализирам 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;
}
}