Jackson @JsonDeserialize не работает над полем класса
@JsonDeserialize не работает над полем класса.
Использую Spring Boot 2.
Код:
@Data
public class EventOddPOJO {
@JsonProperty("id")
private String id;
@JsonDeserialize(using = EventOddPartDeserializer.class)
private String part;
@JsonProperty("ss")
private String score;
@JsonDeserialize(using = EventOddMinuteDeserializer.class)
private String minute;
@JsonDeserialize(using = EventOddSecondDeserializer.class)
private String second;
@JsonProperty("over_od")
private String overOd;
@JsonProperty("home_od")
private String homeOd;
@JsonProperty("draw_od")
private String drawOd;
@JsonProperty("away_od")
private String awayOd;
@JsonProperty("under_od")
private String underOd;
@JsonProperty("time_str")
private String timeStr;
@JsonProperty("add_time")
private String addTime;
@JsonProperty("handicap")
private String handicap;
public static class EventOddPartDeserializer extends StdDeserializer<String> {
public EventOddPartDeserializer() {
this(null);
}
public EventOddPartDeserializer(Class<?> vc) {
super(vc);
}
@Override
public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
String timeStr = p.getValueAsString("timeStr");
if(Objects.isNull(timeStr)) {
return "-";
}
return timeStr.split(" - ")[0];
}
}
public static class EventOddMinuteDeserializer extends StdDeserializer<String> {
public EventOddMinuteDeserializer() {
this(null);
}
public EventOddMinuteDeserializer(Class<?> vc) {
super(vc);
}
@Override
public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
String timeStr = p.getValueAsString("timeStr");
if(Objects.isNull(timeStr)) {
return "-";
}
return timeStr.split(" - ")[1].split(":")[0];
}
}
public static class EventOddSecondDeserializer extends StdDeserializer<String> {
public EventOddSecondDeserializer() {
this(null);
}
public EventOddSecondDeserializer(Class<?> vc) {
super(vc);
}
@Override
public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
String timeStr = p.getValueAsString("timeStr");
if(Objects.isNull(timeStr)) {
return "-";
}
return timeStr.split(" - ")[1].split(":")[1];
}
}
}