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
- android 请求服务器,json解析
- Android 解析服务器JSON对象
- Android 解析服务器json数据
- 从服务器上请求json数据,并解析json数据
- 初探Android中的请求服务器并解析返回的json数据
- Android发送http请求并解析json
- android url网络请求+json解析
- Android---Volley请求天气接口JSON解析
- Android okHttp网络请求之Json解析
- 关于C#向服务器请求json数据并解析
- 196.m1-解析服务器请求的json数据
- Android Volley请求json数据,fastJson解析json数据
- Android解析服务器返回的Json数据
- 网络请求,JSON解析
- Android获取服务器Json数据与Json的解析
- Android开发 Retrofit使用json提交请求服务器
- Android Retrofit请求服务器返回字符串(非JSON)
- android 学习笔记5——get请求+json解析
- 关于C# IEnumerator、yield、Unity3D协程的一些东西
- N个几点的二叉树有多少种形态
- iOS 调出细细的字体
- Leetcode110: Subsets
- ecplise新建项目push到git
- android 请求服务器,json解析
- Android 高清加载巨图方案 拒绝压缩图片
- 基本数据类型数据对象包装类 小结
- CSS制作横向菜单
- Cucumber java + Webdriver (2) 开始编写第一个Test
- MyBatis学习总结(一)——MyBatis快速入门
- Python学习笔记2
- linux恶心的宽字符
- Error filling print... java.lang.String cannot be cast to java.lang.Number