适用于读取的数据如图所示的数组格式
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是自己定义的类