Android rest服务的jackson日期格式不正确
我有一个简单的对象,上面有两个日期Android rest服务的jackson日期格式不正确,android,json,date,jackson,Android,Json,Date,Jackson,我有一个简单的对象,上面有两个日期 { "person_id": 11077, "person_date_time1": "2012-11-27", "person_date_time2": "2011-11-27T08:30:00Z" } 例如: public class Person extends RealmObject { @PrimaryKey private int person_id;
{
"person_id": 11077,
"person_date_time1": "2012-11-27",
"person_date_time2": "2011-11-27T08:30:00Z"
}
例如:
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"
}
问题是jackson格式化程序解析的日期不正确:(
person.person\u date\u time1打印美国东部时间2012年11月26日星期一19:00:00(少一天)
person.person\u date\u time2打印2011年11月27日美国东部时间03:30:00(少于5小时)
如何定义Android上jackson日期反序列化的正确格式
rest服务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),它只对日期有效
非常感谢Jakcson解析器很好,但您在JSON上如何表示日期方面似乎有问题。Jackson解析器将遵循创建日期对象的精确模式,因此您必须匹配它。谢谢。我无法处理JSON中的数据。我需要为Jackson dese添加格式rializer。在春季,我们可以使用ObjectMapper,类似于getObjectMapper().getDeserializationConfig().setDateFormat(dateFormat);但我不知道如何使用jackson对Android+Android注释执行同样的操作:(