【发布时间】:2016-01-05 23:23:44
【问题描述】:
我有杰克逊反序列化器将 json 字符串中的日期转换为日历对象。我在请求中传递了“2015-10-22”,并在将其转换为日历对象后将其转换为“2015-10-22-04:00”。有没有办法禁止发送时区?在使用 XMLGregorianCalendar 的场景中,我使用“date.setTimezone(DatatypeConstants.FIELD_UNDEFINED)”来抑制时区。
private static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
@Override
public Calendar deserialize(JsonParser jsonparser, DeserializationContext arg1) throws IOException, JsonProcessingException {
// TODO Auto-generated method stub
String dateString = jsonparser.getText();
try {
Calendar calendar = Calendar.getInstance();
calendar.setTime(formatter.parse(dateString));
return calendar;
} catch (ParseException e) {
throw new RuntimeException(e);
}
}
【问题讨论】:
-
不要使用
Calendar。如果您不关心时区,java.time.LocalDate似乎是合适的。
标签: java json spring spring-boot jackson