Итак, я пытался разобрать Reddits r/hot/.json API, чтобы получить представление списка информации о теме, но я не могу правильно понять свой JSON. Я искал везде, и я не могу найти хороший пример того, как это сделать для Reddit. Вот что у меня пока есть..
JSONObject response = new JSONObject(result);
JSONObject data = response.getJSONObject("data");
JSONArray hotTopics = data.getJSONArray("children");
for(int i=0; i<hotTopics.length(); i++) {
JSONObject topic = hotTopics.getJSONObject(i);
String author = topic.getString("author");
String imageUrl = topic.getString("thumbnail");
String postTime = topic.getString("created_utc");
String rScore = topic.getString("score");
String title = topic.getString("title");
topicdata.add(new ListData(title, author, imageUrl, postTime, rScore));
Log.v(DEBUG_TAG,topicdata.toString());
}
------- Редактировать Хорошо, чтобы дать более подробную информацию. Я сделал запрос HttpGet на "http://www.reddit.com/r/hot/.json?sort=new&count=25" Когда я запускаю свой код в его нынешнем виде, я получаю следующее исключение JSONException
07-06 22:23:11.628 2580-2580/com.google.android.gms.redditviewr.app W/System.err﹕ org.json.JSONException: No value for author
07-06 22:23:11.632 2580-2580/com.google.android.gms.redditviewr.app W/System.err﹕ at org.json.JSONObject.get(JSONObject.java:354)
07-06 22:23:11.632 2580-2580/com.google.android.gms.redditviewr.app W/System.err﹕ at org.json.JSONObject.getString(JSONObject.java:514)
07-06 22:23:11.636 2580-2580/com.google.android.gms.redditviewr.app W/System.err﹕ at Tasks.RedditApiTask.onPostExecute(RedditApiTask.java:78)
07-06 22:23:11.636 2580-2580/com.google.android.gms.redditviewr.app W/System.err﹕ at Tasks.RedditApiTask.onPostExecute(RedditApiTask.java:22)
07
Что указывает на первый элемент в моей логике синтаксического анализа JSON. Но это не имеет смысла, потому что все эти элементы действительно есть в дочернем массиве.