解决使用GsonFromat插件生成实体类后造成的一个bug

解决使用GsonFromat插件生成实体类后造成的一个bug

关于

在这里插入图片描述
  本篇也是简易音乐系列文章之一,上午的时候轮播图加载网易云音乐接口还能正常使用,下午想记录的时候程序一直提示系统繁忙,请稍后再试,但是我看console里面是获取到了banner数据,后来打印这个异常内容,提示如下:

com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: Expected an int but was 2489379705 at line 1 column 7261 path $.banners[4].targetId

  这不就是json解析异常问题吗,还记得之前文章里面对onError方法进行了特殊判断吗,如下:

/**
     * 新增方法实现onError方法的返回提示(通用接口返回)
     */
    public static class OnCallback<T> implements Observer<T> {

        @Override
        public void onSubscribe(Disposable d) {

        }

        @Override
        public void onNext(T t) {

        }

        @Override
        public void onError(Throwable e) {
            if (!isNetWorkActive(App.getInstance())){
                ToastUtils.show("网络不给力,请检查网络");
                return;
            }
             if(e instanceof ConnectException){
                ToastUtils.show("服务器连接失败,请稍后再试");

            }else if(e instanceof SocketTimeoutException){
                ToastUtils.show("服务器连接超时,请稍后再试");

            }else{
                ToastUtils.show("系统繁忙,请稍后再试");

            }
        }

        @Override
        public void onComplete() {

        }
    }

  修改一下,添加json解析失败的一些监听:

  @Override
        public void onError(Throwable e) {
            if (!isNetWorkActive(App.getInstance())){
                ToastUtils.show("网络不给力,请检查网络");
                return;
            }if (e instanceof JsonParseException || e instanceof JSONException || e instanceof ParseException){
                ToastUtils.show("数据解析错误");
                
            }else if(e instanceof ConnectException){
                ToastUtils.show("服务器连接失败,请稍后再试");

            }else if(e instanceof SocketTimeoutException){
                ToastUtils.show("服务器连接超时,请稍后再试");

            }else{
                ToastUtils.show("系统繁忙,请稍后再试");

            }
        }

  然后我再运行项目,果然报的是"数据解析错误":
在这里插入图片描述
我们看到之前提示的Expected an int but was 2489379705 at line 1 column 7261 path $.banners[4].targetId,修改我们的banner_bean实体类里面的targetId为long,ok问题解决:
在这里插入图片描述
所以说,对gosnformat插件使用也不要完全放心,毕竟说不准就会出现这种字段类型的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪の星空朝酱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值