广告
返回顶部
首页 > 资讯 > 移动开发 >Android 解析JSON对象及实例说明
  • 115
分享到

Android 解析JSON对象及实例说明

JSONAndroid 2022-06-06 10:06:14 115人浏览 安东尼
摘要

JSON是一种轻量级的对象,数据体积小,方便传输,易于解析! 首先新建一个类工具类jsonUtil,用于获取请求返回的数据 代码如下:public class JsonUtil

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, 0, 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,此主机名是模拟器设定的特定的访问自己电脑的主机名,它记录了你的电脑的名称。
另外:获取数据需要将下面的方法封装到一个新线程中,不能放在程序主线程当中!
代码如下:
 
 private void Livingstone() {
  try {
   String URL = "http://10.0.2.2:8080/index.jsp";
   // 获取后台返回的JSON对象 --> { students:[{name:'Livingstone',age:25},{name:'LS',age:26}],class:'09GIS班' }
   JSONObject jObj = JsonUtil.getJSON(URL);
   // 获取学生数组 --> students:[{name:'Livingstone',age:25},{name:'LS',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中使用Gson解析JSON数据的两种方法Android中的JSON详细总结Android网络编程之获取网络上的Json数据实例Android WEBview与js交换JSON对象数据示例Android访问PHP取回json数据实例Android中生成、使用Json数据实例Android中Json数据读取与创建的方法android调用国家气象局天气预报接口json数据格式解释Android Studio获取网络JSON数据并处理的方法


--结束END--

本文标题: Android 解析JSON对象及实例说明

本文链接: https://www.lsjlt.com/news/27928.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作