我使用rest轻松,并希望序列化和反序列化日期。
创建json提供程序后,序列化工作正常,但反序列化仍然不起作用。
我的JsonProvider课程:
@Provider
@Produces(MediaType.APPLICATION_JSON)
public class JsonProvider extends JacksonJaxbJsonProvider {
public JsonProvider() {
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.setDateFormat("dd MMM, yyyy hh:mm:ss a";
super.setMapper(mapper);
}
}输入日期:2014年9月9日上午11:00
com.fasterxml.jackson.databind.exc.InvalidFormatException:错误:无法从字符串值'09 9月,2014年11:00:00 AM‘构造java.util.Date实例:没有有效的表示形式(错误:无法解析日期值'09 9月,2014年11:00 AM':无法解析日期"09 9月11:00 AM":不兼容任何标准表单(“yyyy dd’to :mm:ss.SSSZ”),(“yyyy dd‘T’HH:MM:sss.ss‘Z’”,"EEE,:MM:ss“,”“)
我偶然发现了this的解决方案,但是如果我使用它,我就必须注释我的应用程序中的每个日期字段,我觉得这是一种开销。
我不知道我做错了什么。
任何帮助都将不胜感激。
谢谢。
发布于 2014-11-26 19:41:06
https://stackoverflow.com/questions/25793322
复制相似问题