android - JSON 解析一个包含两个数组列表的数组

标签 android json android-volley

<分区>

我正在尝试解析以下 API 数据。我只需要在我的应用程序中使用开始时间、结束时间、位置和事件名称。我以前从未解析过这种类型的数据。点击 API URL 并获得响应工作正常,我只需要解析方面的帮助。

我已经尝试过这些解决方案,但没有奏效。

  • 在 Android 中解析 JSON 2 数组(嵌入式)
  • 如何在 android 中解析 JSON(二维)数组对象?
  • 如何在android中解析JsonArray和具有两个键值的JSON对象?
  • 让 Android 解析 JSON 多数组。

JSON:

     [
    {
    "end": {
    "endDate": "2018-03-09",
    "endTime": "03:00",
    "_id": "5a901a7d9fee7d156d594b04"
    },
    "location": "Dance Tent",
    "start": {
    "startDate": "2018-03-09",
    "startTime": "02:00",
    "_id": "5a901a7d9fee7d156d594b05"
    },
    "announcementName": "Jumanji Dance Party"
    }
]

代码:

    final JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(DATA_URL, new Response.Listener<JSONArray>() {
                @Override
                public void onResponse(JSONArray response) {

                    for (int index = 0; index < response.length(); index++) {


                            try {
                                JSONObject jsonObject = response.getJSONObject(index);
                                String fullName = jsonObject.getString("startTime");
                                String about = jsonObject.getString("announcementName");
                                String artistType = jsonObject.getString("endTime");
                                String link = jsonObject.getString("location");
                                //String avatar = jsonObject.getString("avatar");

                               Annoucement_Day_One artistInfoGetter=new Annoucement_Day_One( fullName,about, artistType, link );
                                annoucementDayOneList.add(artistInfoGetter);
                                wednesdayAdapter.notifyDataSetChanged();

                            } catch (JSONException e) {
                                e.printStackTrace();                                    
                            }

                        }}

            }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.i("ERRROR RES: ", error.toString());
                    myInstance.dismiss();

                }
            });
            requestQueue.add(jsonArrayRequest);

最佳答案

试试这个

    try {
        JSONArray jsonArray= new JSONArray(response);

        for (int i=0;i<jsonArray.length();i++){

            JSONObject object=jsonArray.getJSONObject(i);

            String location=object.getString("location");
            String announcementName=object.getString("announcementName");

            JSONObject end=object.getJSONObject("end");

            String endDate=end.getString("endDate");
            String endTime=end.getString("endTime");
            String id=end.getString("_id");


            JSONObject start=object.getJSONObject("start");

            String startDate=start.getString("startDate");
            String startTime=start.getString("startTime");
            String start_id=start.getString("_id");


        }
    } catch (JSONException e) {
        e.printStackTrace();
    }

关于android - JSON 解析一个包含两个数组列表的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48987112/

相关文章:

php - 使用 android volley 和 php 将波斯语值发布到 mysql

Android,如何从 Google Map V2 中删除所有标记?

java - 在 Android 中,如何检查 webview 中加载的 URL 是否是图像?

JSON 模式 if/then 需要嵌套对象

带有 header 和正文的 Android Volley POST 请求

java - 反射访问最终静态变量而不进行初始化

ios - 无法将已解析的 JSON 列表显示到 TableView 中

json - 嵌套 JSON 的 JOLT 转换?

java - 使用volley将BLOB图像从mysql显示到android(json编码)

android - 在我的库中处理回调