解析获取的Json数据

来源:互联网 发布:锐度旗舰店淘宝 编辑:程序博客网 时间:2024/05/29 11:10

RequestDataActivity.java

package com.studio.listviewproject.listview;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.widget.ListView;import com.studio.listviewproject.R;import com.studio.listviewproject.model.LessonInfo;import com.studio.listviewproject.model.LessonResult;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.List;public class RequestDataActivity extends AppCompatActivity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ListView listView = (ListView) findViewById(R.id.main_list_view);        //List<data>   item.view        listView.setAdapter();    }    public class RequestDataAsyncTask extends AsyncTask<Void, Void, String> {        static final String STATUS = "status";        static final String DATA = "data";        static final String NAME = "name";        @Override        protected void onPreExecute() {            super.onPreExecute();            //Loading        }        @Override        protected String doInBackground(Void... voids) {            return request("http://www.imooc.com/api/teacher?type=2&page=1");        }        private String request(String urlString) {            try {                URL url = new URL(urlString);                HttpURLConnection connection = (HttpURLConnection) url.openConnection();                connection.setConnectTimeout(30000);                connection.setRequestMethod("GET");                connection.connect();                int responseCode = connection.getResponseCode();                String responseMessage = connection.getResponseMessage();                if (responseCode == HttpURLConnection.HTTP_OK) {                    InputStreamReader inputStreamReader = new InputStreamReader(connection.getInputStream());                    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);                    StringBuilder stringBuilder = new StringBuilder();                    String line;                    while ((line = bufferedReader.readLine()) != null) {                        stringBuilder.append(line);                    }                    return stringBuilder.toString();                }            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(String result) {            super.onPostExecute(result);            //Loading 消失,数据处理 刷新界面            LessonResult lessonResult = new LessonResult();            try {                JSONObject jsonObject = new JSONObject(result);                final int status = jsonObject.getInt(STATUS);                lessonResult.setmStatus(status);                final String msg = jsonObject.getString("msg");                lessonResult.setmMessage(msg);                List<LessonInfo> lessonInfos = new ArrayList<>();                JSONArray dataArray = jsonObject.getJSONArray(DATA);                for (int index = 0; index < dataArray.length(); index++) {                    LessonInfo lessonInfo = new LessonInfo();                    JSONObject tempJSONObject = (JSONObject) dataArray.get(index);                    final String name = tempJSONObject.getString(NAME);                    lessonInfo.setmName(name);                    lessonInfos.add(lessonInfo);                }                lessonResult.setmLessonInfoList(lessonInfos);                //GSON FastJson            } catch (JSONException e) {                e.printStackTrace();            }        }    }}

LessonResult.java

package com.studio.listviewproject.model;import java.util.ArrayList;import java.util.List;public class LessonResult {    private String mMessage;    private int mStatus;    private List<LessonInfo> mLessonInfoList = new ArrayList<>();    public String getmMessage() {        return mMessage;    }    public void setmMessage(String mMessage) {        this.mMessage = mMessage;    }    public int getmStatus() {        return mStatus;    }    public void setmStatus(int mStatus) {        this.mStatus = mStatus;    }    public List<LessonInfo> getmLessonInfoList() {        return mLessonInfoList;    }    public void setmLessonInfoList(List<LessonInfo> mLessonInfoList) {        this.mLessonInfoList = mLessonInfoList;    }}

LessonInfo.java

package com.studio.listviewproject.model;public class LessonInfo {    String mName;    String mDescription;    public String getmName() {        return mName;    }    public void setmName(String mName) {        this.mName = mName;    }    public String getmDescription() {        return mDescription;    }    public void setmDescription(String mDescription) {        this.mDescription = mDescription;    }}