我有一个球衣网络服务,它接收后期数据并将其(使用jackson)映射到看起来像
的数据结构public class MyObject {
String name
Object dateOrPrimitive
}
在调用Web服务的javascript客户端上,它可以发送一个可以采用以下任何一种形式的对象
{ name : "Jeff", dateOrPrimitive : "someOtherString" }
{ name : "Jeff", dateOrPrimitive : new Date() }
如果dateOrPrimitive
字段中包含日期,则将其反序列化为日期的字符串表示形式。但是我想要做的是将它反序列化为日期,如果它是一个有效的日期字符串。
我编写了一个自定义反序列化程序,用于检查该值是否为有效日期,如果是,则返回日期,否则返回原语,但我想知道是否已经构建了一种方法来实现此目的。
答案 0 :(得分:3)
杰克逊没有这样的事情。您的自定义反序列化器是继续这种方式。 Personnaly我会有两个不同的属性,一个是Date,另一个是原语,但我猜你无法控制Json的格式。