我正在尝试使用Gson解析okHttp响应。 这是JSON响应:
{
"code": 200,
"message": "\u0423\u0441\u043f\u0435\u0448\u043d\u043e.",
"data": {
"id": "14",
"name": "",
"sname": "",
"phone": "9274036079",
"email": "",
"org_name": "",
"is_entity": "0",
"city_name": "",
"franchise_id": "0",
"inn": "",
"type_id": "2",
"inviter_id": "0",
"activate": "0000-00-00 00:00:00",
"create": "2016-03-09 13:43:05",
"necessities": {
"needly_profile": true,
"needly_vehicle": true
},
"access": {
"user_set": true
},
"inviter_name": ""
}
}
这是请求和解析响应的方法
private void requestUser(String token) {
final Request request = new Request.Builder()
.url("http://sapron.uveee.ru/api/user/get")
.header("Authorization", token)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.i("FAILURE", e.toString());
}
@Override
public void onResponse(Call call, Response response) throws IOException {
Gson gson = new GsonBuilder().create();
Log.i("test", "onResponse: "+gson.fromJson(response.body().charStream(), User.class).getUserdata()); //HERE WE CRASH
}
});
}
我的模特课
public class User {
int code;
String message;
UserData data;
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
public UserData getUserdata() {
return data;
}
public void setCode(int code) {
this.code = code;
}
public void setMessage(String message) {
this.message = message;
}
public void setUserdata(UserData data) {
this.data = data;
}
}
UserData类
public class UserData {
String id,name,sname,phone,email,org_name,is_entity,city_name,franchise_id,inn,type_id,inviter_id,activate,create,inviter_name;
boolean can_change;
UserNecessities necessities;
UserAccess userAccess;
public String getId() {
return id;
}
public String getName() {
return name;
}
public String getSname() {
return sname;
}
public String getPhone() {
return phone;
}
public String getEmail() {
return email;
}
public String getOrg_name() {
return org_name;
}
public String getIs_entity() {
return is_entity;
}
public String getFranchise_id() {
return franchise_id;
}
public String getInn() {
return inn;
}
public String getType_id() {
return type_id;
}
public String getInviter_id() {
return inviter_id;
}
public String getActivate() {
return activate;
}
public String getCreate() {
return create;
}
public String getInviter_name() {
return inviter_name;
}
public boolean isCan_change() {
return can_change;
}
public UserNecessities getNecessities() {
return necessities;
}
public String getCity_name() {
return city_name;
}
public UserAccess getUserAccess() {
return userAccess;
}
public void setUserAccess(UserAccess userAccess) {
this.userAccess = userAccess;
}
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setSname(String sname) {
this.sname = sname;
}
public void setPhone(String phone) {
this.phone = phone;
}
public void setEmail(String email) {
this.email = email;
}
public void setOrg_name(String org_name) {
this.org_name = org_name;
}
public void setIs_entity(String is_entity) {
this.is_entity = is_entity;
}
public void setFranchise_id(String franchise_id) {
this.franchise_id = franchise_id;
}
public void setInn(String inn) {
this.inn = inn;
}
public void setType_id(String type_id) {
this.type_id = type_id;
}
public void setInviter_name(String inviter_name) {
this.inviter_name = inviter_name;
}
public void setInviter_id(String inviter_id) {
this.inviter_id = inviter_id;
}
public void setCreate(String create) {
this.create = create;
}
public void setActivate(String activate) {
this.activate = activate;
}
public void setNecessities(UserNecessities necessities) {
this.necessities = necessities;
}
public void setCan_change(boolean can_change) {
this.can_change = can_change;
}
public void setCity_name(String city_name) {
this.city_name = city_name;
}
}
我已经做了很少的GSON解析,但我现在无法得到我现在做的错误。感谢。
答案 0 :(得分:1)
我不知道您的json数据是否正确。
但你可以试试这个,希望这会对你有所帮助
User user = new Gson().fromJson(response.body().charStream(), User.class);