“无法解析的日期:1302828677828”尝试使用 Gson 反序列化从服务器收到的毫秒格式日期
经过 4 个小时不停地尝试解决问题后,我决定在这里询问是否有人可以帮助我。
问题是我的 Android 客户端尝试反序列化从服务器接收的数据时抛出“无法解析:1302828677828”异常。
我想知道是否可以使用 Gson 反序列化毫秒格式的日期。
After 4 hours non-stop trying to resolve the problem I have decided to ask here if someone could help me.
The problem is that my Android client when tries to deserialize the data received from a server throw the "Unparseable: 1302828677828" exception.
I would like to know if it is possible to deserialize a millisecond-format date using Gson.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
阿方索评论:
Alfonso's comment:
我基于 GSON 默认 DateTypeAdapter 编写了一个改进的 DateTypeAdapter,它支持默认日期格式和时间戳(长)格式。
使用方法:
I wrote an ImprovedDateTypeAdapter based on GSON default DateTypeAdapter that supports default dates format and the timestamp (long) format.
To use it:
使用下面的代码片段在处理 JSON 时将毫秒转换为日期。
Use below snippet for converting milliseconds to Date while processing JSON.
当我尝试使用 Rest client 反序列化 DateTime 字段时,我遇到了同样的问题href="http://androidannotations.org/" rel="nofollow">Android 注释 库。
作为一个解决方案,我创建了自定义 GsonHttpMessageConverter
并在其余客户端中定义它,
我希望它会有所帮助
I have the same problem when I tried to deserialize DateTime field with Rest client of Android annotations library.
As a solution I've created custom GsonHttpMessageConverter
and define it in rest client
I hope it will be helpful
由于某种原因,我在 Intellij 中使用匿名类使用上述代码时出现编译错误; lambda 对我有用:
For some reason I had compilation errors in Intellij with the above code using an anonymous class; a lambda worked for me: