Retrofit处理json解析异常,Expected BEGIN_OBJECT but was String at line 1 column 1 path $

怎么正确解析后台给的数据

由于后台接口可能返回各种各样的数据,接口也是千奇百怪,对http不太熟悉就很容易找不到方向,一会怀疑是地址拼接的不对,类型没传对,一会有感觉json 实体类写的不对,我就简单分享下,我这次是怎么跳出后台挖的坑,成功解析的。

第一步,导入retrofit就不提了

第二步,观察接口(废话)

我得到接口就是这样的
ws.ashx?m=mob.TrackGetPage.>1>&user=&date=2019/9/10&total=&pageindex=10&pagesize=0

1>是一个动态的密码
后面两个参数是分页查询的两个参数
这个难点主要就是在日期的格式,和total这个参数要返回空值(我最开始就摔在这了)

第三步,开始码代码

先创建接口
由于m=…后面是固定值加上动态的参数,所以我是在Call()的时候拼接上的,如果有更好的方法告诉我一下。

@POST("ws.ashx")
    Call<DownPoint> downloadPoint(
            @Query("m") String method,
            @Query("user") String user,
            @Query("date") String date,
            @Nullable @Query("total") String total,
            @Query("pageindex") int pageindex,
            @Query("pagesize") int pagesize
    );

我的页面是在DatePickerDialog中的,所以日期的获取就是

Calendar calendar = Calendar.getInstance ();
Int  year = calendar.get (Calendar.YEAR);
Int  month = calendar.get (Calendar.MONTH);
Int  day = calendar.get (Calendar.DAY_OF_MONTH);

获取选择的日期,转换成需要的String类型的date.

DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值