我有一个简单的对象,有两个这样的日期
示例:
public class Person extends RealmObject {
@PrimaryKey
private int person_id;
private Date person_date_time1;
private Date person_date_time2;
//getter , setters
}
android rest服务返回的json结构如下
{
"person_id": 11077,
"person_date_time1": "2012-11-27",
"person_date_time2": "2011-11-27T08:30:00Z"
}
问题是杰克逊格式化程序解析的日期不正确:(
person.person_date_time1打印Mon 11月26日星期一19:00:00(减去一天) person.person_date_time2打印2011年11月27日03:30:00 EST(减少5小时)
如何在Android上使用jackson定义正确的反序列化日期格式?
其余服务android
@Rest(rootUrl = ConstantsUtils.URL, converters = { MappingJackson2HttpMessageConverter.class })
@Accept(MediaType.APPLICATION_JSON)
public interface PersonRest extends RestClientErrorHandling {
@Get("/person/{id}")
Person getPerson(String id);
}
我无法使用jodadatetime,因为我使用api来保存数据(realm.io),它仅适用于Date
非常感谢
答案 0 :(得分:0)
Jakcson解析器很好,但看起来你在JSON上如何表示日期有问题。 Jackson解析器将遵循创建Date对象的精确模式,因此您必须匹配它。