public void parseSearchDirectAllData(ArrayList<ProgrammeSite> programmeSites) {
if(programmeSites != null) {
programmeSites.clear();
try {
JSONArray segsArray = new JSONArray(jsonString);
if (segsArray != null)
for (int k = 0; k < segsArray.length(); k++) {
JSONObject segObject = segsArray.optJSONObject(k);
if (segObject != null) {
if(segObject.has("programmeSite")) {
JSONArray jsonResultsArray = segObject.optJSONArray("programmeSite");
if(jsonResultsArray != null && jsonResultsArray.length() > 0) {
for (int i = 0; i < jsonResultsArray.length(); i++) {
JSONObject jsonResultObject = jsonResultsArray.optJSONObject(i);
if(jsonResultObject != null) {
ProgrammeSite programmeSite = new ProgrammeSite();
programmeSite.setSiteId(jsonResultObject.optInt("siteId"));
if(jsonResultObject.has("episode")) {
JSONArray jsonResultsSerisesArray = jsonResultObject.optJSONArray("episode");
if(jsonResultsSerisesArray != null && jsonResultsSerisesArray.length() > 0) {
ArrayList<Episode> episodes = new ArrayList<Episode>();
for (int j = 0; j < jsonResultsSerisesArray.length(); j++) {
JSONObject jsonResultSerisesObject = jsonResultsSerisesArray.optJSONObject(j);
if(jsonResultSerisesObject != null) {
Episode episode = new Episode();
episode.setName(jsonResultSerisesObject.optString("name"));
episode.setUrl(jsonResultSerisesObject.optString("url"));
episodes.add(episode);
}
}
programmeSite.setEpisodes(episodes);
}
}
programmeSites.add(programmeSite);
}
}
}
}
}
}
} catch (Exception e) {
Logger.e(Youku.TAG_GLOBAL, "ParseJson#parseSearchDirectAllData()", e);
}
}
}
上面代码输入JSON数据如下:
[
"programmeSite": [
{//begin
"id": 405642,
"siteId": 17,
"episode":[
{
"url": "http://www.letv.com/ptv/vplay/1606059.html",
"name": "黑狐01",
"seconds": 2701,
"orderId": 1,
"orderStage": 1,
"lastUpdate": 1376496000,
"viewOrder": 1,
"logo": "",
"tagType": 0,
"vid": 0,
},
{
"url": "http://www.letv.com/ptv/vplay/1427315.html",
"name": "黑狐02",
"seconds": 2699,
"orderId": 2,
"orderStage": 2,
"lastUpdate": 1376496000,
"viewOrder": 1,
"logo": "",
"tagType": 0,
"vid": 0,
},
]
}//end
{//begin
"id": 405715,
"siteId": 1,
"episode": [
{
"url": "http://www.tudou.com/albumplay/hLzWIWJyMXk/AHf67i8rVrg.html",
"name": "黑狐-第1集",
"seconds": 2699,
"orderId": 1,
"orderStage": 1,
"lastUpdate": 1386604800,
"viewOrder": 2,
"logo": "http://r3.ykimg.com/0543040850EB192B6A0A470A11CD1DA6",
"tagType": 0,
"vid": 130472276,
},
{
"url": "http://www.tudou.com/albumplay/hLzWIWJyMXk/XaJL16jobbE.html",
"name": "黑狐-第2集",
"seconds": 2699,
"orderId": 2,
"orderStage": 2,
"lastUpdate": 1387468800,
"viewOrder": 2,
"logo": "http://r3.ykimg.com/0543040850BE87EF6A0A442EFAD0048F",
"tagType": 0,
"vid": 130472277,
},
]
}//end
]
]