具有日期或原语作为参数的Jersey Web服务

时间:2013-04-03 22:01:20

标签: java jersey jackson

我有一个球衣网络服务,它接收后期数据并将其(使用jackson)映射到看起来像

的数据结构
public class MyObject {   
   String name
   Object dateOrPrimitive    
}

在调用Web服务的javascript客户端上,它可以发送一个可以采用以下任何一种形式的对象

{ name : "Jeff", dateOrPrimitive : "someOtherString" } 
{ name : "Jeff", dateOrPrimitive : new Date() } 

如果dateOrPrimitive字段中包含日期,则将其反序列化为日期的字符串表示形式。但是我想要做的是将它反序列化为日期,如果它是一个有效的日期字符串。

我编写了一个自定义反序列化程序,用于检查该值是否为有效日期,如果是,则返回日期,否则返回原语,但我想知道是否已经构建了一种方法来实现此目的。

1 个答案:

答案 0 :(得分:3)

杰克逊没有这样的事情。您的自定义反序列化器是继续这种方式。 Personnaly我会有两个不同的属性,一个是Date,另一个是原语,但我猜你无法控制Json的格式。