解析数组里面包含数组的json格式的数据代码

来源:互联网 发布:软件开发公司用工合同 编辑:程序博客网 时间:2024/05/22 04:47

格式如图所示

 

操作代码如下:
public class ActivityJuankuanInfoPost { 

 // 获取捐款详情
 public static JuankuanInfoMessageActivity applyactivityPost(String url, String login_user,
   String now_userid,String jid) throws JSONException,
   ParseException, IOException {
  JuankuanInfoMessageActivity jactivity=null;

  url = Constz.IPAddress + url;

  HttpClient httpClient = new DefaultHttpClient();
  HttpPost httpPost = new HttpPost(url);
  JSONObject jsonObject = new JSONObject();
  jsonObject.put("login_user", login_user);
  jsonObject.put("now_userid", now_userid);
  jsonObject.put("id", jid);
  List<BasicNameValuePair> listPairs = new ArrayList<BasicNameValuePair>();

  listPairs.add(new BasicNameValuePair("json", jsonObject.toString()));
  httpPost.setEntity(new UrlEncodedFormEntity(listPairs, "utf-8"));
  HttpResponse response = httpClient.execute(httpPost);
  int code = response.getStatusLine().getStatusCode();
  System.out.println("code"+code);
  if (code == 200) {
   HttpEntity entity = response.getEntity();
   String str = EntityUtils.toString(entity, "utf-8");
   
   
//   System.out.println("ssssssss   "+str);
   
   jactivity = strToMActivityList(str);
//   return list;
  }

//  list = null;
  return jactivity;

 }
 // 把str转化成捐款详情类型
  private static JuankuanInfoMessageActivity strToMActivityList(String str) {
   // TODO Auto-generated method stub
   JuankuanInfoMessageActivity jkactivity=null;
   try {
    JSONObject jsonObject = new JSONObject(str);
    String status = jsonObject.getString("status");// 0:为空项目不存在 1:成功获取数据 2 暂无报名队友

    if (status.equals("1")) {
     String xm = jsonObject.getString("xm");
     JSONArray jaArray = new JSONArray(xm);
     for (int i = 0; i < jaArray.length(); i++) {
      JSONObject jsonObject2 = new JSONObject(
        jaArray.getString(i));
         jkactivity = new JuankuanInfoMessageActivity();
      jkactivity.setJid((jsonObject2.getString("id")));
      jkactivity.setJphoto(jsonObject2.getString("photo"));
      jkactivity.setJjiezhi(jsonObject2.getString("jiezhi"));
      jkactivity.setJjiezhishijian(jsonObject2.getString("jiezhishijian"));
      jkactivity.setJmoney(jsonObject2.getString("money"));
      jkactivity.setJposttime(jsonObject2.getString("posttime"));
      jkactivity.setJshengyu(jsonObject2.getString("shengyu"));
      jkactivity.setJsubject(jsonObject2.getString("subject"));
      jkactivity.setJyijuan(jsonObject2.getString("yijuan"));
      jkactivity.setJmessage(jsonObject2.getString("content"));
      jkactivity.setJtotal(jsonObject2.getString("total"));
      
      List<JuankuanPeopleXinxi> jxrxinxi=new ArrayList<JuankuanPeopleXinxi>();             //这个就是在主类里面加入一个子类

(加入子类的操作方法:如图

)
      
      JSONArray jsonArray=new JSONArray(jsonObject2.getString("juankuan"));
      for (int j = 0; j < jsonArray.length(); j++) {
       // 创建一个自定义的类对象
       // 类对象赋值
       // 该类加到list集合中
       JSONObject jsonObject3 = new JSONObject(
         jsonArray.getString(j));
       JuankuanPeopleXinxi aa=new JuankuanPeopleXinxi();
       aa.setJjusername(jsonObject3.getString("username"));
       aa.setJjmoney(jsonObject3.getString("money"));
       aa.setJjposttime(jsonObject3.getString("ptime"));
       aa.setJjusernicheng(jsonObject3.getString("nicheng"));
       jxrxinxi.add(aa);
      }
      System.out.println("1111    "+jxrxinxi.toString());
      jkactivity.setJlist(jxrxinxi);
      
     }
    } else if (status.equals("0")) {

    }
   } catch (JSONException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

   System.out.println("数组          +"+jkactivity);
   return jkactivity;

   
  }
}

 

 

0 0
原创粉丝点击