关闭

JSON数组解析代码样例

372人阅读 评论(0) 收藏 举报
TextView tvJson = null;
        InputStream is = null;
        String result=null;
        StringBuilder sb = null;
        try {
            ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://192.168.0.101:8080/ClassTableServer/getAllJson.jsp");    //连接url
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));    //读取设置编码格式(解决乱码
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();        //得到内容
            is = entity.getContent();        
        } catch (Exception e) {
            tvJson.setText("error");            //报错识别
        }
         
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"));            //缓冲字符
            sb = new StringBuilder();    //stringbuilder
            sb.append(reader.readLine() + "\n");        //读一行+换行
            //sb.append(reader.readLine());    
            String line = "0";                //定义line为0
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");            //SB对象+"0"+"\n"
            }
            is.close();                    
            result = sb.toString();    
            tvJson.setText(result);//把分好的数据存放在result里
        } catch (Exception e) {
                tvJson.setText("error2");        //报错识别
        }
        try {
            JSONObject jsonObjSplit = new JSONObject(result);            //定义jsonobjsplit,内容为result的内容
            JSONArray jArray = jsonObjSplit.getJSONArray("ClassTableList");        //定义数组
            JSONObject json_data = null;                        //定义jsonobject = null
            for (int i = 0; i < jArray.length(); i++) {                //遍历数组
                json_data = jArray.getJSONObject(i);                //数组的位置
                try {
                    //Cursor cursor=service.select(week);                    
                    //cursor.moveToFirst();
                    int id = json_data.getInt("id");    //查找id
                    int leid = json_data.getInt("lessonId");    //查找lessonid
                    String lname = json_data.getString("lessonName");        //查找lessonname
                    String lelo = json_data.getString("lessonLocation");        //查找lessonlocation
                    String letime = json_data.getString("lessonTime");        //查找lessontime
                    String clname = json_data.getString("className");        //查找classname
                    String today = json_data.getString("today");        //查找today
                    tvJson.setText(id+leid+lname+lelo+letime+clname+today);
                    

                } catch (Throwable e) {
                    tvJson.setText("error4");
                }
            }
        } catch (JSONException e1) {
            tvJson.setText("error5");
        } catch (ParseException e1) {
            tvJson.setText("error6");
        }
        return null;
   
PS:作者为tianyatmq

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1329次
    • 积分:36
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档