通用的java bean_[备忘]写一个通用Android接收服务器数据的JavaBean

public class ResultEntity implements Serializable {

@SerializedName("IsError")//设置这个 是因为服务器返回的字段叫这个名字,但是这样写违反我们自己的命名规则,所以加上这个注解

private int code;

@SerializedName("InfoMessage")

private String message;

public int getCode() {

return code;

}

public void setCode(int code) {

this.code = code;

}

public String getMessage() {

return message;

}

public void setMessage(String message) {

this.message = message;

}

}

//T泛型,任意对象

public class ResultDataEntity extends ResultEntity implements Serializable {

@SerializedName("ReturnData")

private T data;

public T getData() {

return data;

}

public void setData(T data) {

this.data = data;

}

//以下方法是专门用来转换json to bean or bean to json

public static ResultDataEntity fromJson(String json, Class clazz) {

Gson gson = new Gson();

Type objectType = type(ResultDataEntity.class, clazz);

return gson.fromJson(json, objectType);

}

public String toJson(Class clazz) {

Gson gson = new Gson();

Type objectType = type(ResultDataEntity.class, clazz);

return gson.toJson(this, objectType);

}

static ParameterizedType type(final Class raw, final Type... args) {

return new ParameterizedType() {

public Type getRawType() {

return raw;

}

public Type[] getActualTypeArguments() {

return args;

}

public Type getOwnerType() {

return null;

}

};

}

}

例子

{

"Code": 200,

"Message": "登录成功!",

"Data": {

"IDCardNum": "32098122226112495",

"MemberMobile": "123123444",

"MemberName": "杨x",

"Balance": 460,

"IsEnabled": 1,

"CreatedDate": "2016-12-09 19:43:22.187",

"LastLoginTime": "2016-12-09 19:43:22.187",

"LastLoginIP": "192.168.199.153",

}

}

如何进行解析呢?Data 里面放的是一个用户对象。那么首先我们要创建一个用户类。

public class UserEntity implements Serializable {

/**

* IDCardNum : 32098122226112495

* MemberMobile : 123123444

* MemberName : 杨x

* Balance : 460

* IsEnabled : 1

* CreatedDate : 2016-12-09 19:43:22.187

* LastLoginTime : 2016-12-09 19:43:22.187

* LastLoginIP : 192.168.199.153

*/

@SerializedName("IDCardNum")//可使用该注解 重命名

private String cardNum;

private String MemberMobile;

private String MemberName;

private int Balance;

private int IsEnabled;

private String CreatedDate;

private String LastLoginTime;

private String LastLoginIP;

//各种set get

如何解析呢?

String json ="";//就是服务器返回的数据

ResultDataEntity userResult =ResultDataEntity.fromJson(json ,UserEntity.class);

UserEntity userEntity =userResult .getData();//取得用户对象,然后进行各种操作

小记

如有更好的方式,请给出建议,如有错误请指出,谢谢

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值