我正在尝试创建一个Android应用程序,从我的wordpress博客中获取帖子,在列表中显示信息。我能够获得标题,描述等结果,但我无法获得嵌套对象"标签"来自JSON结果。那么,你能解释一下我如何从这个JSON Response的JSON结果中获取标签名称。
我正在尝试使用以下代码:
JSONObject root = new JSONObject(postJSON);
JSONArray postsArray = root.getJSONArray("posts");
for (int i = 0; i < postsArray.length(); i++) {
// Get a single post at position i within the list of earthquakes
JSONObject currentPost = postsArray.getJSONObject(i);
String title = currentPost.getString("title");
Log.e(LOG_TAG, "title is " + title);
JSONObject tags = currentPost.getJSONArray("tags").getJSONObject(0);
String tag = tags.getString("name");
Log.e(LOG_TAG, "tag is " + tag);
Post post = new Post(title,"123", tag);
posts.add(post);
}
但是logcat显示该值无法转换为JSONArray。
答案 0 :(得分:1)
问题是标签实际上是另一个JSON对象而不是JSON数组。您需要执行以下操作:
JSONObject tags = currentPost.getJSONObject("tags").getJSONObject(0);
String tag = tags.getString("name");
Log.e(LOG_TAG, "tag is " + tag);
请记住,JSON数组总是由[]表示,对象由{}表示。
希望这有帮助。