Spring Jackson 反序列化Date时遇到的问题(http://www.aichengxu.com/java/81030.htm)

转载 2017年04月19日 10:22:56

Spring Jackson 反序列化Date时遇到的问题,有需要的朋友可以参考下。

Jackson对于date的反序列化只支持几种,如果不符合默认格式则会报一下错误

org.codehaus.jackson.map.JsonMappingException: Can not construct instance of java.util.Date from String value '2012-12-12 12:01:01': not a valid representation (error: Can not parse date "2012-12-12 12:01:01": not compatible with any of standard forms ("yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", "EEE, dd MMM yyyy HH:mm:ss zzz", "yyyy-MM-dd"))
 at [Source: org.glassfish.jersey.message.internal.EntityInputStream@2c384e19; line: 1, column: 2] (through reference chain: jerseyspring.representation.Order["payTime"])
	at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163)
	at org.codehaus.jackson.map.deser.StdDeserializationContext.weirdStringException(StdDeserializationContext.java:243)
	at org.codehaus.jackson.map.deser.std.StdDeserializer._parseDate(StdDeserializer.java:577)
	at org.codehaus.jackson.map.deser.std.DateDeserializer.deserialize(DateDeserializer.java:28)
	at org.codehaus.jackson.map.deser.std.DateDeserializer.deserialize(DateDeserializer.java:19)
	at org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:299)
	at org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414)
	at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697)
	at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
	at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2704)
	at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1315)
	at org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:419)

解决方案:
public class CustomJsonDateDeserializer extends JsonDeserializer<Date> {

	@Override
	public Date deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String date = jp.getText();
                try {
                    return format.parse(date);
                } catch (ParseException e) {
                    throw new RuntimeException(e);
                }
	}

}

且在字段的setter上加上注解
@JsonDeserialize(using = CustomJsonDateDeserializer.class)

Jackson 反序列化Date时遇到的问题

Jackson对于date的反序列化只支持几种,如果不符合默认格式则会报一下错误org.codehaus.jackson.map.JsonMappingException: Can not const...
  • a294039255
  • a294039255
  • 2017年03月16日 19:55
  • 437

关于Spring Jackson 反序列化Date时遇到的问题

Jackson对于date的反序列化只支持几种,如果不符合默认格式则会报一下错误 具体支持:("yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd'T'HH:mm:s...
  • preferG
  • preferG
  • 2017年09月19日 23:26
  • 983

JSON转Date的序列化问题之解决方案(Java)

如何将JSON转换为Date类型呢? 直接转换是不能成功的,因为JSON序列化问题,我们得到的不是一个时间戳的格式。 如果在读取一个内容为JSON格式的文件时,内容为{"startDate...
  • u012049760
  • u012049760
  • 2017年05月11日 15:51
  • 370

fastjson使用(六) -- 序列化和反序列化的时候日期处理

阿里开源JSON库fastjson使用。
  • u011113654
  • u011113654
  • 2016年01月06日 18:08
  • 16574

springmvc使用Jackson序列化反序列化日期

1、序列化 public class CustomDateSerializer extends JsonSerializer { @Override public v...
  • huihui870311
  • huihui870311
  • 2017年02月10日 09:59
  • 1915

Spring boot 配置jackson 反序列化时间格式、忽略实体中没有的属性

需要在继承自 WebMvcConfigurerAdapter 的类中重写configureMessageConverters 方法 @Override public void co...
  • keplerpig
  • keplerpig
  • 2017年11月16日 11:51
  • 433

Spring Jackson 反序列化Date时遇到的问题

见:http://blog.csdn.net/chenjian0415/article/details/50042665 Jackson对于date的反序列化只支持几种,如果不符合默认格式则...
  • asdfghzqlj
  • asdfghzqlj
  • 2017年08月23日 22:17
  • 280

Spring Jackson 反序列化Date时遇到的问题(http://www.aichengxu.com/java/81030.htm)

Spring Jackson 反序列化Date时遇到的问题,有需要的朋友可以参考下。 Jackson对于date的反序列化只支持几种,如果不符合默认格式则会报一下错误 org.codehaus.j...
  • a363722188
  • a363722188
  • 2017年04月19日 10:22
  • 1175

jackson对日期的处理(序列化与反序列化)

2. Serialize Date with Jackson First – let’s see how to serialize a simple java.util.Date with Ja...
  • cover1231988
  • cover1231988
  • 2017年07月24日 15:48
  • 677

Spring Jackson 反序列化Date时遇到的问题

Spring Jackson 反序列化Date时遇到的问题
  • chenjian0415
  • chenjian0415
  • 2015年11月25日 21:24
  • 7879
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring Jackson 反序列化Date时遇到的问题(http://www.aichengxu.com/java/81030.htm)
举报原因:
原因补充:

(最多只允许输入30个字)