• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

retrofit GSON将json字符串中的Date序列化为java.util.date

Android 5次浏览

我正在对我的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中实现此操作。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)