您的位置:首页 > Web前端 > JavaScript

json数据一次读取多条数据(数组形式,数组前面没有字符和有字符)的操作方法

2016-02-17 17:43 585 查看
适用于读取的数据如图所示的数组格式



public static List<Userz> getActivityList2(String url,String id)

   throws JSONException, ClientProtocolException, IOException {

  String back = Constz.back;

  url = Constz.IPAddress + url;

  List<Userz> list = new ArrayList<Userz>();

  HttpClient httpClient = new DefaultHttpClient();

  HttpPost httpPost = new HttpPost(url);

  JSONObject jsonObject = new JSONObject();

  jsonObject.put("id", id);

 

  List<BasicNameValuePair> listPairs = new ArrayList<BasicNameValuePair>();

  listPairs.add(new BasicNameValuePair("json", jsonObject.toString()));

  System.out.println("  listPairs  " + listPairs.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();

   // back=EntityUtils.toString(entity, "utf-8");

   String str = EntityUtils.toString(entity, "utf-8");

   // back = MakeFriendsItemStrToStr.StrToStr_life(str);

   System.out.println("str  " + str);

   list = getList_getActivityList(str);

  }

  return list;

 }

// 搜索得到str,然后转化成列表形式

 private static List<Userz> getList_getActivityList(String str) {

  List<Userz> list = new ArrayList<Userz>();

  try {

   JSONArray jArray = new JSONArray(str);

   for (int i = 0; i < jArray.length(); i++) {    

    JSONObject jsonObject = new JSONObject(jArray.getString(i));

    Userz userz = new Userz();

    userz.setNicheng_us(jsonObject.getString("nicheng"));// 昵称

    userz.setUserid_us(jsonObject.getString("userid"));// 对方ID

    userz.setAixin_us(jsonObject.getString("aixin"));

    userz.setChengzhang_us(jsonObject.getString("chengzhang"));

    userz.setPhoto_us(jsonObject.getString("photo"));

    list.add(userz);

   }

  } catch (JSONException e) {

   // TODO Auto-generated catch block

   e.printStackTrace();

  }

  return list;

 }

 

//如果想要解析的数组前面有字符如图格式



只需在getList_getActivityList这个方法里面添加修改一段代码即可

把 JSONArray jArray = new JSONArray(str);
换成

String xm = jsonObject.getString("kn");              //kn是json数组数据前面的字符

JSONArray jaArray = new JSONArray(xm);

 

ps:userz是自己定义的类

文件下载地址:http://download.csdn.net/detail/as425017946/9434604
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: