Android Retrofit2数据解析代码解析

 更新时间:2020年12月01日 10:56:59   作者:手撕高达的村长  
这篇文章主要介绍了Android Retrofit2数据解析代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

在弄数据解析这块,浪费了很长的时间,最开始一直觉得传过来用对象接收的,类型是json,往那个方式去想了。搞了很久。

后来看了别人写的才发觉,真是很简单,感谢 https://www.jianshu.com/p/d0081e8a7edc 给我启发。

加入的jar包

// Retrofit库
implementation 'com.squareup.retrofit2:retrofit:2.0.2'
implementation 'com.squareup.retrofit2:converter-gson:2.0.2'

服务端传过来的数据:

{
"code":0,
"resultMsg":"OJBK",
"resultState":"SUCCESS",
"resultObj":[
{"id":null,"nickname":"科科","head_img":null,},
{"id":null,"nickname":"科科","head_img":null,},
{"id":null,"nickname":"科科","head_img":null,},
{"id":null,"nickname":"科科","head_img":null,},
{"id":null,"nickname":"李逵","head_img":"",}]}

创建一个WebResponse对象,来接收数据:

package controller.hzl.com.hzl1.model;

import java.util.List;

import controller.hzl.com.hzl1.entity.HNOTICELOG_E;

public class WebRespone {

  /**
   * 返回状态码
   */
  private Integer code;

  /**
   * 返回消息
   */
  private Object resultMsg;

  /**
   * 返回结果
   */
  private String resultState;


  /**
   * 返回数据对象
   */
  private List<HNOTICELOG_E> resultObj;



  public Integer getCode() {
    return code;
  }

  public Object getResultMsg() {
    return resultMsg;
  }

  public String getResultState() {
    return resultState;
  }


  public void setCode(Integer code) {
    this.code = code;
  }

  public void setResultMsg(Object resultMsg) {
    this.resultMsg = resultMsg;
  }

  public void setResultState(String resultState) {
    this.resultState = resultState;
  }

  public List<HNOTICELOG_E> getResultObj() {
    return resultObj;
  }

  public void setResultObj(List<HNOTICELOG_E> resultObj) {
    this.resultObj = resultObj;
  }
}

注意,这个对象里面有一个是list类型。

public class HNOTICELOG_E {
  private Long id;  
  private String nickname;  
  private String head_img;  
  private String noticeContext;
  private String relUserId;
  private String relNoticeUserId;
  private Date createTime;
  private String createUser;
  private Date updateTime;
  private String updateUser;
  private Integer status;
  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public String getNoticeContext() {
    return noticeContext;
  }

  public void setNoticeContext(String noticeContext) {
    this.noticeContext = noticeContext == null ? null : noticeContext.trim();
  }

  public String getRelUserId() {
    return relUserId;
  }

  public void setRelUserId(String relUserId) {
    this.relUserId = relUserId == null ? null : relUserId.trim();
  }

  public String getRelNoticeUserId() {
    return relNoticeUserId;
  }

  public void setRelNoticeUserId(String relNoticeUserId) {
    this.relNoticeUserId = relNoticeUserId == null ? null : relNoticeUserId.trim();
  }

  public Date getCreateTime() {
    return createTime;
  }

  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  public String getCreateUser() {
    return createUser;
  }

  public void setCreateUser(String createUser) {
    this.createUser = createUser == null ? null : createUser.trim();
  }

  public Date getUpdateTime() {
    return updateTime;
  }

  public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
  }

  public String getUpdateUser() {
    return updateUser;
  }

  public void setUpdateUser(String updateUser) {
    this.updateUser = updateUser == null ? null : updateUser.trim();
  }

  public Integer getStatus() {
    return status;
  }

  public void setStatus(Integer status) {
    this.status = status;
  }

  public String getNickname() {
    return nickname;
  }

  public void setNickname(String nickname) {
    this.nickname = nickname;
  }

  public String getHead_img() {
    return head_img;
  }

  public void setHead_img(String head_img) {
    this.head_img = head_img;
  }
}

相当于是resultObj 下面的直接是一个List。这样,就直接能够接收到服务端传的json里面的List对象。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Flutter开发中的路由参数处理

    Flutter开发中的路由参数处理

    在实际开发中,我们经常会需要在页面跳转的时候携带路由参数,典型的例子就是从列表到详情页的时候,需要携带详情的 id,以便详情页获取对应的数据。同时,有些时候还需要返回时携带参数返回上一级,以便上级页面根据返回结果更新。本篇将介绍这两种情形的实现。
    2021-06-06
  • Android实战教程第六篇之一键锁屏应用问题解决

    Android实战教程第六篇之一键锁屏应用问题解决

    这篇文章主要为大家详细介绍了Android一键锁屏应用开发过程中出现问题的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-11-11
  • Android如何解决虚拟按键栏遮挡问题

    Android如何解决虚拟按键栏遮挡问题

    这篇文章主要介绍了Android如何解决虚拟按键栏遮挡问题,帮助大家更好的理解和学习使用Android开发,感兴趣的朋友可以了解下
    2021-03-03
  • Android Studio Intent隐式启动,发短信,拨号,打电话,访问网页等实例代码

    Android Studio Intent隐式启动,发短信,拨号,打电话,访问网页等实例代码

    这篇文章主要介绍了Android Studio Intent隐式启动,发短信,拨号,打电话,访问网页等实例代码的相关资料,需要的朋友可以参考下
    2016-12-12
  • Android使用SurfaceView实现飘赞动画

    Android使用SurfaceView实现飘赞动画

    这篇文章主要为大家详细介绍了Android如何使用SurfaceView实现飘赞动画,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Android studio4.1更新后出现的问题详解

    Android studio4.1更新后出现的问题详解

    这篇文章主要介绍了Android studio4.1更新后出现的问题详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • android 使用 IJKPlayer 播放视频流的实现代码

    android 使用 IJKPlayer 播放视频流的实现代码

    这篇文章主要介绍了android 使用 IJKPlayer 播放视频流,这需要借助 IAndroidIO 这个接口,也可以用于播放本地文件,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • Android移除Message的方法分享

    Android移除Message的方法分享

    本篇文章主要介绍MessageQueue提供的各种移除Message的方法,大概有八九个,接下来会对其中比较典型的移除方法进行详细分析,需要的可以参考一下
    2022-10-10
  • 怎样才能导入别人的android项目不再报错

    怎样才能导入别人的android项目不再报错

    每次看到好的项目都想拿过来看看源码,可是导入以后各种报错怎么办?源码有问题吗?有这种可能,但更多的可能性是你没有正确导入这个项目
    2021-08-08
  • Android返回键功能的实现方法

    Android返回键功能的实现方法

    这篇文章主要介绍了Android返回键功能的实现方法,实例分析了Android返回键的原理与具体的功能实现代码,非常具有实用价值,需要的朋友可以参考下
    2015-02-02

最新评论