我正在对我的REST调用使用Retrofit库。我所做的大部分工作都像黄油一样顺利,但是由于某些原因,我在将JSON时间戳字符串转换为java.util.Date对象时遇到了问题。传入的JSON看起来像这样。
java.util.Date
{ "date": "2013-07-16", "created_at": "2013-07-16T22:52:36Z", }
如何告诉Retrofit或Gson将这些字符串转换成java.util.Date objects?
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解析器设置为可改型。更多内容:改造网站
查看Ondreju的响应,以了解如何在改造2中实施此操作。