Retrofit检验json格式是否正确
怎么正确解析后台给的数据
由于后台接口可能返回各种各样的数据,接口也是千奇百怪,对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