Web サービスが 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;
}
}