我正在对我的REST调用使用Retrofit库。我所做的大多数事情都像黄油一样顺利,但是由于某些原因,我在将JSON时间戳字符串转换为java.util.Date
对象时遇到了问题。传入的JSON如下所示。
{
"date": "2013-07-16",
"created_at": "2013-07-16T22:52:36Z",
}
如何告诉Retrofit或Gson将这些字符串转换为
java.util.Date objects
?
解决方案如下:
Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss")
.create();
RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint(API_BASE_URL)
.setConverter(new GsonConverter.create(gson))
.build();
或等效的Kotlin:
val gson = GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss").create()
RestAdapter restAdapter = Retrofit.Builder()
.baseUrl(API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build()
.create(T::class.java)
您可以将自定义的Gson解析器设置为可改进。更多内容:
Retrofit Website
查看Ondreju的回复,以了解如何在改造2中实现此操作。