使用JsonObject 与JsonArray
我们需要解析的是下面的数据:
{
"jdinfo": [
{
"JD_id": "001",
"JD_Name": null,
"JD_Image": "Address 11",
"JD_Start": "col4 data",
"JD_Zan": "col4 data",
"JD_Cai": "col4 data",
"JD_MenPiao": "col4 data",
"JD_Introduce": "col4 data",
"JD_Call": "col4 data",
"JD_SignInNum": "col4 data",
"comments": [
{
"userID": "1",
"vistorID": "1",
"number": "123",
"NetFriendsNum": "col4 data",
"NetFriendsAssess": "col4 data",
"NetFriendsImg": "col4 data",
"NetFriendsName": "col4 data",
"SignInTime": "col4 data",
"NetPersonAssessNum": "col4 data",
"Date": "col4 data",
"UserName": "col4 data",
"UserLevel": "col4 data",
"AssessNum": "col4 data",
"AssessStart": "col4 data"
},
{
"userID": "2",
"vistorID": "1",
"number": "123",
"NetFriendsNum": "col4 data",
"NetFriendsAssess": "col4 data",
"NetFriendsImg": "col4 data",
"NetFriendsName": "col4 data",
"SignInTime": "col4 data",
"NetPersonAssessNum": "col4 data",
"Date": "col4 data",
"UserName": "col4 data",
"UserLevel": "col4 data",
"AssessNum": "col4 data",
"AssessStart": "col4 data"
},
{
"userID": "3",
"vistorID": "1",
"number": "123",
"NetFriendsNum": "col4 data",
"NetFriendsAssess": "col4 data",
"NetFriendsImg": "col4 data",
"NetFriendsName": "col4 data",
"SignInTime": "col4 data",
"NetPersonAssessNum": "col4 data",
"Date": "col4 data",
"UserName": "col4 data",
"UserLevel": "col4 data",
"AssessNum": "col4 data",
"AssessStart": "col4 data"
}
]
},
{
"JD_id": "001",
"JD_Name": null,
"JD_Image": "Address 11",
"JD_Start": "col4 data",
"JD_Zan": "col4 data",
"JD_Cai": "col4 data",
"JD_MenPiao": "col4 data",
"JD_Introduce": "col4 data",
"JD_Call": "col4 data",
"JD_SignInNum": "col4 data",
"comments": [
{
"userID": "1",
"vistorID": "1",
"number": "123",
"NetFriendsNum": "col4 data",
"NetFriendsAssess": "col4 data",
"NetFriendsImg": "col4 data",
"NetFriendsName": "col4 data",
"SignInTime": "col4 data",
"NetPersonAssessNum": "col4 data",
"Date": "col4 data",
"UserName": "col4 data",
"UserLevel": "col4 data",
"AssessNum": "col4 data",
"AssessStart": "col4 data"
},
{
"userID": "2",
"vistorID": "1",
"number": "123",
"NetFriendsNum": "col4 data",
"NetFriendsAssess": "col4 data",
"NetFriendsImg": "col4 data",
"NetFriendsName": "col4 data",
"SignInTime": "col4 data",
"NetPersonAssessNum": "col4 data",
"Date": "col4 data",
"UserName": "col4 data",
"UserLevel": "col4 data",
"AssessNum": "col4 data",
"AssessStart": "col4 data"
},
{
"userID": "3",
"vistorID": "1",
"number": "123",
"NetFriendsNum": "col4 data",
"NetFriendsAssess": "col4 data",
"NetFriendsImg": "col4 data",
"NetFriendsName": "col4 data",
"SignInTime": "col4 data",
"NetPersonAssessNum": "col4 data",
"Date": "col4 data",
"UserName": "col4 data",
"UserLevel": "col4 data",
"AssessNum": "col4 data",
"AssessStart": "col4 data"
}
]
},
{
"JD_id": "001",
"JD_Name": null,
"JD_Image": "Address 11",
"JD_Start": "col4 data",
"JD_Zan": "col4 data",
"JD_Cai": "col4 data",
"JD_MenPiao": "col4 data",
"JD_Introduce": "col4 data",
"JD_Call": "col4 data",
"JD_SignInNum": "col4 data",
"comments": [
{
"userID": "1",
"vistorID": "1",
"number": "123",
"NetFriendsNum": "col4 data",
"NetFriendsAssess": "col4 data",
"NetFriendsImg": "col4 data",
"NetFriendsName": "col4 data",
"SignInTime": "col4 data",
"NetPersonAssessNum": "col4 data",
"Date": "col4 data",
"UserName": "col4 data",
"UserLevel": "col4 data",
"AssessNum": "col4 data",
"AssessStart": "col4 data"
},
{
"userID": "2",
"vistorID": "1",
"number": "123",
"NetFriendsNum": "col4 data",
"NetFriendsAssess": "col4 data",
"NetFriendsImg": "col4 data",
"NetFriendsName": "col4 data",
"SignInTime": "col4 data",
"NetPersonAssessNum": "col4 data",
"Date": "col4 data",
"UserName": "col4 data",
"UserLevel": "col4 data",
"AssessNum": "col4 data",
"AssessStart": "col4 data"
},
{
"userID": "3",
"vistorID": "1",
"number": "123",
"NetFriendsNum": "col4 data",
"NetFriendsAssess": "col4 data",
"NetFriendsImg": "col4 data",
"NetFriendsName": "col4 data",
"SignInTime": "col4 data",
"NetPersonAssessNum": "col4 data",
"Date": "col4 data",
"UserName": "col4 data",
"UserLevel": "col4 data",
"AssessNum": "col4 data",
"AssessStart": "col4 data"
}
]
}
]
}
以上的数据有两层,我的处理方式是,先取到第一层数据,如下为处理这一段数据的示例代码
List<Guider> list = new ArrayList<Guider>();
try {
HttpClient httpclient = new DefaultHttpClient();
HttpGet httppost = new HttpGet(params[0]);
HttpResponse http_response = httpclient.execute(httppost);
if (http_response.getStatusLine().getStatusCode() == 200) {
String jsonstring = EntityUtils.toString(
http_response.getEntity(), "utf-8");
Log.i("net", "jsonstring---->" + jsonstring);
// 将服务器拿来的数据转换成jsonObject
JSONObject jsobject = new JSONObject(jsonstring);
// 再转换成array
JSONArray jsonArray = jsobject.getJSONArray("jdinfo");
Log.i("net", "jsonArray---->" + (jsonArray == null)
+ " arraysize-->" + jsonArray.length());
if (jsonArray != null) {
Guider guiderVo = null;
// JSONArray jsonArray=jsobject.getJSONArray("jdinfo");
for (int i = 0; i < jsonArray.length(); i++) {
Log.i("net", "第---->" + i);
JSONObject guider = jsonArray.getJSONObject(i);
Iterator<String> iterator = guider.keys();
while (iterator.hasNext()) {
String key = iterator.next();// 找到此对象的Key
Object object = guider.get(key); // 根据key取得值
Log.i("net", "JD key--->" + key + " object--->"
+ object.toString());
String str = object.toString();
if (key.equals("comments")) {//找到二级标签
try {
JSONArray js3 = new JSONArray(str);
for (int j = 0; j < js3.length(); j++) {
JSONObject coment_object = js3
.getJSONObject(j);
Iterator<String> iterator_comment = coment_object.keys();
while (iterator_comment.hasNext()) {
String coment_key = iterator_comment
.next();
Object comment_value = coment_object
.getString(coment_key);
Log.i("net",
"comment----> key-->"
+ coment_key
+ " value---->"
+ comment_value
.toString());
}
}
Log.i("net",
"js3----->lengh " + js3.length());
} catch (Exception e) {
Log.i("net", "js3----->" + e.toString());
}
}
Log.i("net", "guider---->" + (guider == null));
guiderVo = new Guider();
}
}
list.add(guiderVo);
}
}
} catch (Exception e) {
// TODO: handle exception
Log.i("new", "jsonError----------->" + e);
}
return list;
处理代码结果:
第二层处理结果