Google Gson 日期格式问题

Google Gson 日期格式问题,第1张

gson.fromJson(String json, Class<T>classOfT) 处理日期格式时,在 windows 系统下正常。而在 linux 系统中,出现异常,解析失败。

原因是二者的日期格式不统一。为了避免出现这样的问题,可以使用 GsonBuilder 来创建 Gson 对象,在创建过程中调用 GsonBuilder.setDateFormat(String) 指定一个固定的格式:

没用过gson,但根据它的API的JavaDoc,应该是用

gson.toJsonTree(list)

这样得到的不是直接一个String而是一棵树,里面元素是JsonElement,然后对相应的节点,把它转类型成JsonObject,然后用JsonObject.addProperty(),爱加什么性质就加什么性质,最后用gson.toJson()把树转化为一个字符串。

使用Gson结合泛型解析数据时,用到了这么一个方法 parameterizedType.getActualTypeArguments()[0]

那么它是什么意思呢?

getClass().getGenericSuperclass()返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的直接超类的 Type,然后将其转ParameterizedType。

getActualTypeArguments()返回表示此类型实际类型参数的 Type 对象的数组。

[0]就是这个数组中第一个了,简而言之就是获得超类的泛型参数的实际类型。

本例中即为获得T的type。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8288868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存