您的位置:首页 > 理论基础 > 计算机网络

Android Studio 获取网络JSON数据并处理

2017-10-11 15:22 477 查看
1、需要的网络JSON数据



2、数据实现类

package chenglong.activitytest.pengintohospital.entity;

import org.json.JSONException;
import org.json.JSONObject;

/**
*
* 科室
* Created by LICHENGLONG on 2017-10-02.
*/

public class BasSection {
public Integer id;//科室id
public String sectionName;//科室名称
public Integer getId() {
return id;
}

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

public String getSectionName() {
return sectionName;
}

public void setSectionName(String sectionName) {
this.sectionName = sectionName;
}

public BasSection(Integer id, String sectionName){
this.id = id;
this.sectionName = sectionName;
}

public static BasSection sectionData(JSONObject json){
try {
return new BasSection(
json.getInt("id"),
json.getString("sectionName");
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
}


3、创建List集合接收数据

List<BasSection> listBasSection = new ArrayList<>();


4、获取JSON数据

/**
* 获取JSON科室数据
*/
public void findSectionData(){
AsyncHttpClient client = new AsyncHttpClient();
//你的JSON数据链接地址
client.get(AbAppConfig.DATA_URL + "appGVConsultation/findSectionData", null, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
try {
JSONObject object =  new JSONObject(new String(responseBody));//获取json数据
JSONArray jsonArray = object.getJSONArray("obj");//获取数据集名称为obj的数据
Log.d("jsonArray数据输出:", String.valueOf(jsonArray));
for (int i = 0; i < jsonArray.length();i++) {
BasSection novels = BasSection.sectionData(jsonArray.getJSONObject(i));//把数据存在novels集合中
if (novels != null){
listBasSection.add(novels);
}
}

} catch (JSONException e) {
Toast.makeText(GV_Consultation.this, "数据请求失败,请稍后重试", Toast.LENGTH_SHORT).show();
}
}

@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
//请求失败的回调处理
Toast.makeText(GV_Consultation.this, "请链接网络,稍后重试", Toast.LENGTH_SHORT).show();
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android