美文网首页
解决Gson解析日期报错的问题

解决Gson解析日期报错的问题

作者: AlanFu | 来源:发表于2018-05-17 15:07 被阅读0次

项目使用Gson来解析json,当服务器下发日期的Long类型时报错:

Caused by: java.text.ParseException: Failed to parse date ["1461689198000']: Invalid time zone indicator '9' (at offset 0)

简单而言是类型转换不过。需要我们自定义和注册适配器:

        GsonBuilder builder = new GsonBuilder();
        // Register an adapter to manage the date types as long values
        builder.registerTypeAdapter(Date.class, new JsonDeserializer<Date>() {
            public Date deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
                return new Date(json.getAsJsonPrimitive().getAsLong());
            }
        });
        Gson gson = builder.create();
参考文章

https://segmentfault.com/q/1010000005014254
https://stackoverflow.com/questions/5671373/unparseable-date-1302828677828-trying-to-deserialize-with-gson-a-millisecond

  • (1)stackoverflow真是解决开发问题之利器。
  • (2)使用fastjson不会出现上面的情况。

相关文章

网友评论

      本文标题:解决Gson解析日期报错的问题

      本文链接:https://www.haomeiwen.com/subject/jambdftx.html