JSON配列の2番目のレイヤーを取得できないようです。私が欲しいのは、カテゴリからすべての名前を取得してから、インテントを介して「フォーラムID」を別のアクティビティに送信したいということです。それが役立つ場合は、このチュートリアル
に従い、ここから JSON 配列を取得しています
JSON 配列の一部
{
"categories": [{
"name": "Facepunch",
"forums": [{
"id": 6,
"name": "General Discussion",
"viewing": 217
}, {
"id": 60,
"name": "Fast Threads",
"viewing": 188
}, {
"id": 64,
"name": "Videos And Flash Movies and That Kind Of Crap",
"viewing": 239
}, {
"id": 403,
"name": "Mass Debate",
"viewing": 9
}, {
"id": 396,
"name": "Sensationalist Headlines",
"viewing": 455
}, {
"id": 51,
"name": "In The News Node",
"viewing": 100
}]
}]
}
私のコードの一部
try {
// Getting Array of Contacts
categories = json.getJSONArray(TAG_CATEGORIES);
forums = json.getJSONArray(TAG_FORUMS);
// looping through All categories
for(int i = 0; i < categories.length(); i++){
JSONObject c = categories.getJSONObject(i);
// Storing each json item in variable
String CatName = c.getString(TAG_CATName);
// Phone number is agin JSON Object
JSONObject All_forums = forums.getJSONObject(i);
String forum_id = All_forums.getString(TAG_FORUMS_ID);
String forum_name = All_forums.getString(TAG_FORUMS_NAME);
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put(TAG_CATName, CatName);
map.put(TAG_FORUMS, forum_name);
// adding HashList to ArrayList
contactList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}