现在的位置: 首页 > 综合 > 正文

用jsonArray解析数据例子

2013年10月08日 ⁄ 综合 ⁄ 共 3099字 ⁄ 字号 评论关闭

1:需要解析的数据格式为:

{"results": {
  "ju_response": "success",
  "get_mark_list": [
    {
      "markId": 1,
      "ID": "111",
      "goods_id": "1",
      "markContent": "akaja",
      "userNickname": "jianjian",
      "markTime": "2011-05-20 17:40:17.0",
      "markStar": 11.0
    },
    {
      "markId": 2,
      "replyId": 1,
      "ID": "222",
      "goods_id": "1",
      "markContent": "jajjajaja",
      "userNickname": "dongdong",
      "markTime": "2011-05-20 17:40:17.0",
      "markStar": 2.0
    },
    {
      "markId": 3,
      "replyId": 1,
      "ID": "333",
      "goods_id": "1",
      "markContent": "hashen",
      "userNickname": "taotao",
      "markTime": "2011-05-20 17:40:17.0",
      "markStar": 2.0
    },
    {
      "markId": 4,
      "ID": "44",
      "goods_id": "1",
      "markContent": "agwioagwenoijjgoaiejfwjag",
      "userNickname": "hello",
      "markTime": "2011-05-24 18:01:09.0",
      "markStar": 3.0
    },
    {
      "markId": 5,
      "ID": "55",
      "goods_id": "1",
      "markContent": "agwioagwenoijjgoaiejfwjag",
      "userNickname": "hello",
      "markTime": "2011-05-24 18:02:16.0",
      "markStar": 3.0
    }
  ]
}}
2:解析数据的程序为:

 private void getPDAServerData(String url) { 
        HttpClient client = new DefaultHttpClient(); 
        //提拱默认的HttpClient实现 
        HttpPost request;
        String showMessage = "";
        try { 
            request = new HttpPost(new URI(url)); 
            HttpResponse response = client.execute(request); 
            // 判断请求是否成功 
            if (response.getStatusLine().getStatusCode() == 200) { //200表示请求成功 
                HttpEntity entity = response.getEntity(); 
                if (entity != null) { 
                    String out = EntityUtils.toString(entity); 
                    JSONArray marks = null;
                    try {
                     JSONObject obj = new JSONObject(out).getJSONObject("results");
                     String ju_response = obj.getString("ju_response");
                    
                     if("success".equals(ju_response))
                     {
                     marks =obj.getJSONArray("get_mark_list");
                     }
                    
                     for(int i=0; i< marks.length(); i++){
                     JSONObject mark = (JSONObject)marks.get(i);
                     showMessage += mark.getString("markId");
                    
                     String replyId = mark.getString("replyId");
                     if(replyId != null)showMessage+=","+replyId;
                     showMessage += ",";
                        showMessage += mark.getString("ID");
                        showMessage += "; ";

                     }

} catch (JSONException e) {
e.printStackTrace();
}
new AlertDialog.Builder(this).setMessage(showMessage).create().show();
                } 
            } 
        } catch (URISyntaxException e) { 
            e.printStackTrace(); 
            new AlertDialog.Builder(this).setMessage(e.getMessage()).create() 
                    .show(); 
        } catch (ClientProtocolException e) { 
            e.printStackTrace(); 
            new AlertDialog.Builder(this).setMessage(e.getMessage()).create() 
                    .show(); 
        } catch (IOException e) { 
            e.printStackTrace(); 
            new AlertDialog.Builder(this).setMessage(e.getMessage()).create() 
                    .show(); 
        } 
    }

抱歉!评论已关闭.