GSON 解析 Json 带单引号集的日期
GSON Parse Json date with single set of quotes
我正在努力寻找最简单的方法来解析从 rails API 返回的日期,但返回的日期如下:
"start_time": "2015-01-28T10:30:00.000+00:00",
"end_time": "2015-01-28T11:30:00.000+00:00",
单组引号似乎是问题所在。
所以基本上有没有一种简单的方法可以告诉日期格式忽略这个或者我应该为日期对象编写一个自定义反序列化程序?我当前的 Gson 对象定义为:
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.registerTypeAdapter(Long.class, new LongTypeAdapter())
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
.create();
这很好,但无法处理当前格式的日期,它 returns JsonSyntaxException,如果它是这样的:
"\"2015-01-28T10:30:00.000+00:00\""
它会很好用。
我似乎无法在 Gson 文档中找到任何提供处理此类日期的简单方法的内容,这里的所有其他问题似乎都说要更改输入,但由于它来自 API我没有那么奢侈。
这是使用 Android 完成的,如果有任何不同,则进行改造。
您可能想为日期实现自己的适配器,这似乎是最简单的方法。
这里有一些例子:https://sites.google.com/site/gson/gson-type-adapters-for-common-classes-1
我正在努力寻找最简单的方法来解析从 rails API 返回的日期,但返回的日期如下:
"start_time": "2015-01-28T10:30:00.000+00:00",
"end_time": "2015-01-28T11:30:00.000+00:00",
单组引号似乎是问题所在。 所以基本上有没有一种简单的方法可以告诉日期格式忽略这个或者我应该为日期对象编写一个自定义反序列化程序?我当前的 Gson 对象定义为:
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.registerTypeAdapter(Long.class, new LongTypeAdapter())
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
.create();
这很好,但无法处理当前格式的日期,它 returns JsonSyntaxException,如果它是这样的:
"\"2015-01-28T10:30:00.000+00:00\""
它会很好用。
我似乎无法在 Gson 文档中找到任何提供处理此类日期的简单方法的内容,这里的所有其他问题似乎都说要更改输入,但由于它来自 API我没有那么奢侈。
这是使用 Android 完成的,如果有任何不同,则进行改造。
您可能想为日期实现自己的适配器,这似乎是最简单的方法。
这里有一些例子:https://sites.google.com/site/gson/gson-type-adapters-for-common-classes-1