Android 如何获取内部数组数据

Android 如何获取内部数组数据,android,listview,Android,Listview,我正在构建一个Android应用程序,并正在从我的远程API收集数据(使用截取) 我需要解析响应。我知道如何获取“projects”数组,但如何获取每个项目的标题(请注意每个项目的项目键) 这是我现在使用的代码,需要修改: JSONArray jsonPosts = mData.getJSONArray("projects"); ArrayList<HashMap<String, String>> blogPosts = new ArrayLis

我正在构建一个Android应用程序,并正在从我的远程API收集数据(使用截取) 我需要解析响应。我知道如何获取“projects”数组,但如何获取每个项目的标题(请注意每个项目的项目键)

这是我现在使用的代码,需要修改:

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);