zoukankan      html  css  js  c++  java
  • android获取Tomcat的JSON数据

    上一篇简单的介绍获取Tomcatg根目录下的图片,本章将继续介绍进行与Tomcat通信获取目录下的jsON数据,首先在...webappsROOT est目录下放入一个JSON文件,放入

    categories.json了这个文件,还是利用Xutils框架与Tomcat通信,配置请看上一篇,本章将不介绍了。

    通过:

    HttpUtils httpUtils = new HttpUtils();
    httpUtils.send(HttpRequest.HttpMethod.GET, "....../test/categories.json", new RequestCallBack<String>() {
    @Override
    public void onSuccess(ResponseInfo<String> responseInfo) {
      
    }
       @Override
    public void onFailure(HttpException error, String msg) {
    Log.d("TAG","访问失败");
    }
    利用HttpUtils框架,由于API23以上放弃Http..使用,需要在build.gradle配置下:

    要加上这个配置:

    useLibrary 'org.apache.http.legacy' ,否则会报异常。上述省略号将自己的电脑IP地址写上就可以了,交互成功之后会进入
    onSuccess...方法,将这个方法里进行解析JSON数据,解析数据需要知道:遇见“{}”就使用JSonObject,遇见“[]”就使用JsonArray。

    RESONSEINFO={"retcode":200,"data":[{"id":10000,"title":"新闻","type":1,"children":[{"id":10007,"title":"北京","type":1,"url":"/10007/list_1.json"},{"id":10006,"title":"中国","type":1,"url":"/10006/list_1.json"},{"id":10008,"title":"国际","type":1,"url":"/10008/list_1.json"},{"id":10010,"title":"体育","type":1,"url":"/10010/list_1.json"},{"id":10091,"title":"生活","type":1,"url":"/10091/list_1.json"},{"id":10012,"title":"旅游","type":1,"url":"/10012/list_1.json"},{"id":10095,"title":"科技","type":1,"url":"/10095/list_1.json"},{"id":10009,"title":"军事","type":1,"url":"/10009/list_1.json"},{"id":10093,"title":"时尚","type":1,"url":"/10093/list_1.json"},{"id":10011,"title":"财经","type":1,"url":"/10011/list_1.json"},{"id":10094,"title":"育儿","type":1,"url":"/10094/list_1.json"},{"id":10105,"title":"汽车","type":1,"url":"/10105/list_1.json"}]},{"id":10002,"title":"专题","type":10,"url":"/10006/list_1.json","url1":"/10007/list1_1.json"},{"id":10003,"title":"组图","type":2,"url":"/10008/list_1.json"},{"id":10004,"title":"互动","type":3,"excurl":"","dayurl":"","weekurl":""}],"extend":[10007,10006,10008,10014,10012,10091,10009,10010,10095]}
    这个是

    categories.json文件下的文件内容,知道数据格式,下面就可以解析数据了。
    js = new JSONObject(result);
    int retcode = js.getInt("retcode");
    Log.d("TAG","retcode1="+retcode);
    JSONArray extend = js.getJSONArray("extend");
    JSONArray data = js.getJSONArray("data");
    Log.d("TAG","data="+data);
    for (int i=0;i<data.length();i++){
    JSONObject jsdata = data.getJSONObject(i);
    Log.d("TAG","jsdata="+jsdata);
    if (i==0){
    int id1 = jsdata.getInt("id");
    String title1 = jsdata.getString("title");
    int type1 = jsdata.getInt("type");
    Log.d("TAG","id1="+id1+","+"title1="+title1+"type1="+type1);
    mChildrenArray = jsdata.getJSONArray("children");
    Log.d("TAG","childrenArray="+mChildrenArray);
    for (int j =0;j<mChildrenArray.length();j++){
    JSONObject jsonObjectChlidren = mChildrenArray.getJSONObject(j);
    Log.d("TAG","jsonObjectChlidren="+jsonObjectChlidren);
    int id = jsonObjectChlidren.getInt("id");
    Log.d("TAG","id="+id);
    String title = jsonObjectChlidren.getString("title");
    Log.d("TAG","title="+title);
    int type = jsonObjectChlidren.getInt("type");
    Log.d("TAG","type="+type);
    String url = jsonObjectChlidren.getString("url");
    Log.d("TAG","url12="+url);
    }

    }else if (i==1){
    int id2 = jsdata.getInt("id");
    String title2 = jsdata.getString("title");
    int type2 = jsdata.getInt("type");
    String url2 = jsdata.getString("url");
    String url3 = jsdata.getString("url1");
    Log.d("TAG","id2="+id2+","+"title2="+title2+"type2="+type2+"url2="+url2+","+"url3="+url3);
    }else if (i ==2){
    int id3 = jsdata.getInt("id");
    String title3 = jsdata.getString("title");
    int type3 = jsdata.getInt("type");
    String url3 = jsdata.getString("url");
    Log.d("TAG","id2="+id3+","+"title2="+title3+"type2="+type3+"url2="+url3);
    }else if (i==3){
    Log.d("TAG","3=");
    String dayurl = jsdata.getString("dayurl");
    String excurl = jsdata.getString("excurl");
    int id = jsdata.getInt("id");
    String title = jsdata.getString("title");
    int type = jsdata.getInt("type");
    String weekurl = jsdata.getString("weekurl");
    Log.d("TAG","dayurl="+dayurl+","+"excurl="+excurl+"id="+id+"title="+title+"type="+type+","+"weekurl="+weekurl);
    }

    }


    } catch (Exception e) {
    e.printStackTrace();
    }

    这样就可以将数据全部解析出来。解析JSoN数据还有其他方法,这就不一一介绍了,方法原理都是这样的。
     
    
    
  • 相关阅读:
    Tomcat性能优化总结
    shell 服务器监控 cpu 和 java 占用 CPU 脚本
    编写shell时,遇到let: not found错误及解决办法
    Studio 3T 破解 mogodb
    nginx/iptables动态IP黑白名单实现方案
    创业公司这两年
    致所有的开发者们
    如何成为一名全栈开发工程师
    谈谈在创业公司的几点感触
    推荐阅读《赢在下班后》
  • 原文地址:https://www.cnblogs.com/zpfwin/p/7060426.html
Copyright © 2011-2022 走看看