thi*_*nke 0 android gson android-volley
这是我想要使用的json数据:
{
"name" : "Ravi Tamada",
"email" : "ravi8x@gmail.com",
"phone" :
{
"home" : "08947 000000",
"mobile" : "9999999999"
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的JsonObjectRequest:
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, APITEST,null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
Gson gson = new Gson();
People people;
people = gson.fromJson(jsonObject.toString(),People.class);
tv_city.setText(""+people.email);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
});
Run Code Online (Sandbox Code Playgroud)
没关系tv_city.setText(""+ people.email())...
这是我的javabean类:
public class People {
public String name ;
public String email;
public class Phone{
public String home;
public String mobile;
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想得到"家"号,怎么样?
1-您必须按如下方式更新您的bean类: -
public class People implements Serializable {
private String name ;
private String email;
private Phone phone;
public Phone getPhone () {
return phone;
}
public void setPhone (Phone phone) {
this.phone = phone;
}
public String getName () {
return name;
}
public void setName (String name) {
this.name = name;
}
public String getEmail () {
return email;
}
public void setEmail (String email) {
this.email = email;
}}
Run Code Online (Sandbox Code Playgroud)
2-创建一个新的bean类Phone.java: -
public class Phone implements Serializable{
private String home;
public String getMobile () {
return mobile;
}
public void setMobile (String mobile) {
this.mobile = mobile;
}
public String getHome () {
return home;
}
public void setHome (String home) {
this.home = home;
}
private String mobile;}
Run Code Online (Sandbox Code Playgroud)
3-现在按如下方式更新您的代码: -
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, APITEST,null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject jsonObject) {
Gson gson = new Gson();
People people;
people = gson.fromJson(jsonObject.toString(),People.class);
tv_city.setText(""+people.email);
//for getting Home & Mobile number
String home=people.getPhone.getHome();
String mobile=people.getPhone.getMobile();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
});
Run Code Online (Sandbox Code Playgroud)
注意: - 我的上面的bean是你问题中预期的api响应.但是如果你有嵌套对象,那么你必须选择People bean中的一个List<Phone>或者ArrayList<Phone>内部,然后创建它的getter和setter.
希望对你有帮助 !!!
| 归档时间: |
|
| 查看次数: |
3588 次 |
| 最近记录: |