android 请求服务器,json解析

来源:互联网 发布:c语言教学视频软件 编辑:程序博客网 时间:2024/05/18 11:16

引子:
这个礼拜我们又来了一个新的实训老师(是公司的),为我们讲android。从一个医学用药的app里面弄了一些接口,需要用到json解析,学了两年的java了,这些基础居然还没学到位,真惭愧。。

public class MainActivity extends Activity {    private Button mButton;    private TextView mTextview;    private HttpUtils httpUtils;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        httpUtils = new HttpUtils(10*1000);        mTextview = (TextView) findViewById(R.id.textView1);        mButton = (Button) findViewById(R.id.button1);        mButton.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                String url = "";                RequestParams params = new RequestParams();//这里是请求服务器,略过                httpUtils.send(HttpMethod.POST, url, params, new RequestCallBack<String>() {                    @Override                    public void onStart() {//开始请求                        super.onStart();                        System.out.println("请求开始");                    }                    @Override                    public void onSuccess(ResponseInfo<String> arg0) {//成功                        System.out.println("请求结果:" + arg0.result);                      //这里是json解析方法                        mTextview.setText(arg0.result);                    }                    @Override                    public void onFailure(HttpException arg0, String arg1) {                        //这个方法是请求失败执行的方法                        System.out.println("请求失败");                    }                    @Override                    public void onCancelled() {//请求结束                        super.onCancelled();                        System.out.println("请求结束");                    }                });            }        });    }

方法1:

 try {                            JSONObject object = new JSONObject(arg0.result);                            JSONArray jsonArray = object.getJSONArray("data");                            String count = object.getString("count");                            String page = object.getString("page");                            String userProvince = object.getString("userProvince");                            BenTest benTest = new BenTest();                            ArrayList<BenTest.Data> datas = new ArrayList<BenTest.Data>();                            BenTest.Data data;                            for (int i = 0; i < jsonArray.length(); i++) {                                data = benTest.new Data();                                JSONObject object2 = jsonArray.getJSONObject(i);                                String id = object2.getString("id") + "";                                String commonName = object2.getString("commonName") + "";                                String showName = object2.getString("showName") + "";                                String cnName = object2.getString("cnName") + "";                                String company = object2.getString("company") + "";                                String yb = object2.getString("yb") + "";                                String vsName = object2.getString("vsName") + "";                                String drugId = object2.getString("drugId") + "";                                String createDate = object2.getString("createDate") + "";                                String type = object2.getString("type") + "";                                String cf = object2.getString("cf") + "";                                String engName = object2.getString("engName") + "";                                data.setId(id);                                data.setCommonName(commonName);                                data.setShowName(showName);                                data.setCnName(cnName);                                data.setCompany(company);                                data.setYb(yb);                                data.setVsName(vsName);                                data.setDrugId(drugId);                                data.setCreateDate(createDate);                                data.setType(type);                                data.setCf(cf);                                data.setEngName(engName);                                datas.add(data);                            }                            benTest.setCount(count);                            benTest.setPage(page);                            benTest.setUserProvince(userProvince);                            benTest.setData(datas);                            System.out.println(benTest.toString());                        } catch (JSONException e) {                            e.printStackTrace();                        }

实体类:

package model;import java.util.ArrayList;public class BenTest {    private String count;    private String page;    private String userProvince;    private ArrayList<Data> data;    public String getCount() {        return count;    }    public void setCount(String count) {        this.count = count;    }    public String getPage() {        return page;    }    public void setPage(String page) {        this.page = page;    }    public String getUserProvince() {        return userProvince;    }    public void setUserProvince(String userProvince) {        this.userProvince = userProvince;    }    public ArrayList<Data> getData() {        return data;    }    public void setData(ArrayList<Data> data) {        this.data = data;    }    @Override    public String toString() {        return "BenTest [count=" + count + ", page=" + page + ", userProvince=" + userProvince + ", data=" + data + "]";    }    public class Data {        private String id;        private String commonName;        private String showName;        private String cnName;        private String company;        private String yb;        private String vsName;        private String drugId;        private String createDate;        private String type;        private String cf;        private String engName;        public String getId() {            return id;        }        public void setId(String id) {            this.id = id;        }        public String getCommonName() {            return commonName;        }        public void setCommonName(String commonName) {            this.commonName = commonName;        }        public String getShowName() {            return showName;        }        public void setShowName(String showName) {            this.showName = showName;        }        public String getCnName() {            return cnName;        }        public void setCnName(String cnName) {            this.cnName = cnName;        }        public String getCompany() {            return company;        }        public void setCompany(String company) {            this.company = company;        }        public String getYb() {            return yb;        }        public void setYb(String yb) {            this.yb = yb;        }        public String getVsName() {            return vsName;        }        public void setVsName(String vsName) {            this.vsName = vsName;        }        public String getDrugId() {            return drugId;        }        public void setDrugId(String drugId) {            this.drugId = drugId;        }        public String getCreateDate() {            return createDate;        }        public void setCreateDate(String createDate) {            this.createDate = createDate;        }        public String getType() {            return type;        }        public void setType(String type) {            this.type = type;        }        public String getCf() {            return cf;        }        public void setCf(String cf) {            this.cf = cf;        }        public String getEngName() {            return engName;        }        public void setEngName(String engName) {            this.engName = engName;        }        @Override        public String toString() {            return "Data [id=" + id + ", commonName=" + commonName + ", showName=" + showName + ", cnName=" + cnName                    + ", company=" + company + ", yb=" + yb + ", vsName=" + vsName + ", drugId=" + drugId                    + ", createDate=" + createDate + ", type=" + type + ", cf=" + cf + ", engName=" + engName + "]";        }    }}

方法2:(方法一的简写)

 try {                            JSONObject ob=new JSONObject(arg0.result);                            JSONArray jsa= ob.getJSONArray("data");                            for (int i=0;i<jsa.length();i++){                                JSONObject ob1=jsa.getJSONObject(i);                                System.out.println("aaaaa:" + ob1.getString("id") + "bbbbb");                            }                        } catch (JSONException e) {                            e.printStackTrace();                        }

方法3:
引用:gson-2.3.1.jar,实体类用到的是方法1的

 Gson gson  = new Gson();                        BenTest ben = gson.fromJson(arg0.result,BenTest.class);           System.out.print("aaa"+ben.toString());

其实这三个方法都是json解析,更底层的东西我还正在学。现在项目还在做,代码什么的就不发了,有问题邮箱:liudimin@live.com

1 0
原创粉丝点击