Jackson JSON无法正确序列化Joda DateTime
|
我在Order类中有一个Joda DateTime:
public class Order {
private DateTime creationTime;
...
}
我已经如下初始化了我的映射器:
mapper.configure(
SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
当我序列化此类时,我希望看到creationTime以ISO-8601格式序列化,如下所示
{
\"creationTime\" : \"2011-01-01T09:00:00.000-04:00\"
}
在我的单元测试中,这工作得很好。但是,在我的Web应用程序中,完全相同的代码正在序列化所有DateTime字段:
{
\"creationTime\" : {
\"year\" : 2011,
\"dayOfMonth\" : 17,
\"dayOfWeek\" : 7,
\"era\" : 1,
\"dayOfYear\" : 107,
\"weekOfWeekyear\" : 15,
\"weekyear\" : 2011,
\"monthOfYear\" : 4,
\"yearOfEra\" : 2011,
\"yearOfCentury\" : 11,
\"centuryOfEra\" : 20,
\"millisOfSecond\" : 590,
\"millisOfDay\" : 40311590,
\"secondOfMinute\" : 51,
\"secondOfDay\" : 40311,
\"minuteOfHour\" : 11,
\"minuteOfDay\" : 671,
\"hourOfDay\" : 11,
\"millis\" : 1303053111590,
\"zone\" : {
\"fixed\" : false,
\"uncachedZone\" : {
\"cachable\" : true,
\"fixed\" : false,
\"id\" : \"America/New_York\"
},
\"id\" : \"America/New_York\"
},
\"chronology\" : {
\"zone\" : {
\"fixed\" : false,
\"uncachedZone\" : {
\"cachable\" : true,
\"fixed\" : false,
\"id\" : \"America/New_York\"
},
\"id\" : \"America/New_York\"
}
}
}
我想念什么?在这两种情况下,我的类路径中都包含jackson-core-asl-1.7.6.jar和jackson-mapper-asl-1.7.6.jar。
在一些在线示例中,我看到了有关DateTime的注释。我不知道是否需要这样做,但我还是尝试了一下。见下文:
public class Order {
@JsonSerialize(using=DateTimeSerializer.class)
private DateTime creationTime;
...
}
这似乎没有什么区别。
谢谢。
附言有人知道Jackson邮件列表是否有效吗?我将这个问题发布在用户邮件列表中,但是没有显示在存档中。档案中的最后一个帖子的日期为2010年6月24日。
没有找到相关结果
已邀请:
1 个回复
粳饶瓢部
的类:
然后只需使用该自定义序列化器代替ѭ7。