Android 解析JSON对象及实例说明

Android 解析JSON对象及实例说明,第1张

概述JSON是一种轻量级的对象,数据体积小,方便传输,易于解析!首先新建一个类工具类JsonUtil,用于获取请求返回的数据复制代码代码如下:publicclassJsonUtil{ privatestaticfinalStringTAG=\"JSONUTIL\"; pu

JsON是一种轻量级的对象,数据体积小,方便传输,易于解析!

首先新建一个类工具类JsonUtil,用于获取请求返回的数据
复制代码 代码如下:
public class JsonUtil {
 private static final String TAG = "JsONUTIL";
 public static JsONObject getJsON(String url) throws Exception {
  return new JsONObject(getRequest(url));
 }
 protected static String getRequest(String url) {
  return getRequest(url,new DefaulthttpClIEnt(new BasichttpParams()));
 }
 protected static String getRequest(String url,DefaulthttpClIEnt clIEnt) {
  String result = null;
  int statusCode = 0;
  httpGet httpGet = new httpGet(url);
  try {
   httpResponse httpResponse = clIEnt.execute(httpGet);
   statusCode = httpResponse.getStatusline().getStatusCode();// statusCode为200时表示请求数据成功
   result = parseinputStream(httpResponse.getEntity());
  } catch (ClIEntProtocolException e) {
   e.printstacktrace();
  } catch (IOException e) {
   e.printstacktrace();
  } finally {
   httpGet.abort();
  }
  return result;
 }
 private static String parseinputStream(httpentity entity) {
  StringBuilder sb = null;
  try {
   sb = new StringBuilder("");
   inputStream inputStream = entity.getContent();
   int length = 0;
   byte[] buffer = new byte[1024];
   while ((length = inputStream.read(buffer)) > -1) {
    sb.append(new String(buffer,length));
   }
   return sb.toString();
  } catch (IllegalStateException e) {
   e.printstacktrace();
  } catch (IOException e) {
   e.printstacktrace();
  }
  return sb.toString();
 }
}

获取数据并解析数据:
注:模拟器访问自己电脑上的网站不能用localhost:8080或者127.0.0.1:8080,因为模拟器默认将模拟器本身设定为localhost,所以如果设置为这样的方式就将访问模拟器本身。我们需要将主机名修改为10.0.2.2,此主机名是模拟器设定的特定的访问自己电脑的主机名,它记录了你的电脑的名称。
另外:获取数据需要将下面的方法封装到一个新线程中,不能放在程序主线程当中!
复制代码 代码如下:
 /* http://10.0.2.2:8080/index.Jsp
  * { students:[{name:'livingstone',age:25},{name:'LS',age:26}],class:'09GIS' }
  */
 private voID livingstone() {
  try {
   String URL = "http://10.0.2.2:8080/index.Jsp";
   // 获取后台返回的JsON对象 --> { students:[{name:'livingstone',class:'09GIS班' }
   JsONObject jObj = JsonUtil.getJsON(URL);
   // 获取学生数组 --> students:[{name:'livingstone',age:26}]
   JsONArray jArr = jObj.getJsONArray("students");
   // 获取班级 --> class:'09GIS班'
   String classname = jObj.getString("class");
   // 根据索引获取第一个学生的JsON对象 --> {name:'livingstone',age:25}
   JsONObject j1 = jArr.getJsONObject(0);

   String studentInfo = jArr.length() + "个学生" + j1.getString("name")
     + j1.getInt("age");
  } catch (Exception e) {
   e.printstacktrace();
  }
 }

总结

以上是内存溢出为你收集整理的Android 解析JSON对象及实例说明全部内容,希望文章能够帮你解决Android 解析JSON对象及实例说明所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1141177.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存