특정 표준 시간대를 추가하기 위해 Date
serializer가 있습니다.JAVA StdDateSerializer 구문 분석 날짜
public class DateDeserializer extends StdDeserializer<Date> {
public DateDeserializer() {
this(null);
}
protected DateDeserializer(Class<?> vc) {
super(vc);
}
@Override
public Date deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
Long dateString = jsonParser.getLongValue();
Date date = new Date(dateString);
changeTimeZone(date);
return date;
}
}
그러나 때로는 날짜가 long
값이 아닙니다. 때로는 String
과 같이 나타나며, 예를 들어 "2017-01-01"
이고 jsonParser.getLongValue()
메서드는 실패합니다.
jsonParser
이 보유하고있는 값의 종류를 알 수있는 방법이 있습니까? jsonParser instanceof String
또는 long
을 확인하면 항상 false
을 반환합니다.
잭슨 인 경우 태그로 추가하십시오. – DPM