Android 如何获取内部数组数据
我正在构建一个Android应用程序,并正在从我的远程API收集数据(使用截取) 我需要解析响应。我知道如何获取“projects”数组,但如何获取每个项目的标题(请注意每个项目的项目键) 这是我现在使用的代码,需要修改:Android 如何获取内部数组数据,android,listview,Android,Listview,我正在构建一个Android应用程序,并正在从我的远程API收集数据(使用截取) 我需要解析响应。我知道如何获取“projects”数组,但如何获取每个项目的标题(请注意每个项目的项目键) 这是我现在使用的代码,需要修改: JSONArray jsonPosts = mData.getJSONArray("projects"); ArrayList<HashMap<String, String>> blogPosts = new ArrayLis
JSONArray jsonPosts = mData.getJSONArray("projects");
ArrayList<HashMap<String, String>> blogPosts = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < jsonPosts.length(); i++) {
JSONObject post = jsonPosts.getJSONObject(i);
Log.e("OUTPUT", "THE POST: " + post);
}
如何访问每个对象的标题?这是一个
JSONArray
而不是JSONObject
-要从中创建JSONObject
,请使用
JSONObject jsonObject = jsonArray.getJSONObject(0);
这将从此JSONArray获取第一个JSONObject
如果您有多个JSONObject,请使用以下方法:
JSONObject jsonObject;
for(int n = 0; n < jsonArray.length(); n++)
{
jsonObject = jsonArray.getJSONObject(n);
}
每个
jSONObject
项都包含一个键和jSONObject
。我认为您需要从数组中的项获取jSONObject,然后获取标题和城市
我希望这对你有帮助
JSONArray jsonPosts = mData.getJSONArray("projects");
ArrayList<HashMap<String, String>> blogPosts = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < jsonPosts.length(); i++) {
JSONObject post = jsonPosts.getJSONObject(i);
JSONObject innerjson = post.getJSONObject("project");
String title = innerjson.getString(KEY_TITLE);
title = Html.fromHtml(title).toString();
String city = innerjson.getString(KEY_CITY);
city = Html.fromHtml(city).toString();
HashMap<String, String> blogPost = new HashMap<String, String>();
blogPost.put(KEY_TITLE, title);
blogPost.put(KEY_CITY, city);
blogPosts.add(blogPost);
}
String[] keys = {KEY_TITLE, KEY_CITY};
int[] ids = { R.id.top_label, R.id.bottom_label};
SimpleAdapter adapter = new SimpleAdapter(this, blogPosts, R.layout.list_item, keys, ids);
setListAdapter(adapter);
JSONArray-jsonPosts=mData.getJSONArray(“项目”);
ArrayList blogPosts=新的ArrayList();
for(int i=0;i
JSONObject jsonObject;
for(int n = 0; n < jsonArray.length(); n++)
{
jsonObject = jsonArray.getJSONObject(n);
}
jsonObject.getString("name");
JSONArray jsonPosts = mData.getJSONArray("projects");
ArrayList<HashMap<String, String>> blogPosts = new ArrayList<HashMap<String, String>>();
for (int i = 0; i < jsonPosts.length(); i++) {
JSONObject post = jsonPosts.getJSONObject(i);
JSONObject innerjson = post.getJSONObject("project");
String title = innerjson.getString(KEY_TITLE);
title = Html.fromHtml(title).toString();
String city = innerjson.getString(KEY_CITY);
city = Html.fromHtml(city).toString();
HashMap<String, String> blogPost = new HashMap<String, String>();
blogPost.put(KEY_TITLE, title);
blogPost.put(KEY_CITY, city);
blogPosts.add(blogPost);
}
String[] keys = {KEY_TITLE, KEY_CITY};
int[] ids = { R.id.top_label, R.id.bottom_label};
SimpleAdapter adapter = new SimpleAdapter(this, blogPosts, R.layout.list_item, keys, ids);
setListAdapter(adapter);