0

我有两个forloop,其中数据被添加到不同的ArrayList。现在我的问题是我们如何结合这两个数组列表?以下是我尝试过的代码,但无法正常工作。请给我同样的解决方案。TIA

try {
        JSONObject object = new JSONObject(response);
        status = object.getString("status");
        if (status.equals("200")) {
            rest.dismissProgressdialog();
            JSONArray jsonArray = object.getJSONArray("data");

            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                New_Service_Model_1 new_service_model = new New_Service_Model_1();
                new_service_model.setMain_name(jsonObject.getString("main_name"));
                new_service_model.setSmid(jsonObject.optInt("smid"));

                JSONArray jsonArray1 = jsonObject.getJSONArray("sub_service");

                //sub_services_list.clear();
                sub_services_list = new ArrayList<>();
                for (int j = 0; j < jsonArray1.length(); j++) {
                    JSONObject jsonObject1 = jsonArray1.getJSONObject(j);
                    New_Sub_Service_Model_1 sub_service_model = new New_Sub_Service_Model_1();
                    sub_service_model.setSmid(jsonObject1.optString("smid"));
                    sub_service_model.setSbid(jsonObject1.optInt("sbid"));
                    sub_service_model.setSub_name(jsonObject1.optString("sub_name"));
                    sub_service_model.setDesc(jsonObject1.optInt("desc"));
                    sub_service_model.setSt_cust(jsonObject1.optInt("st_cust"));
                    sub_service_model.setSt_pro(jsonObject1.optInt("st_pro"));
                    sub_service_model.setExist_cust(jsonObject1.optInt("exist_cust"));
                    sub_service_model.setExist_prov(jsonObject1.optInt("exist_prov"));
                    sub_services_list.add(sub_service_model);

                }
                new_service_model.setSub_service_list(sub_services_list);
                services_list.add(new_service_model);
                service_list_adapter = new Service_List_Adapter_1(this, services_list, service_costMain_interface);
                rclyrview_services.setAdapter(service_list_adapter);
                service_list_adapter.notifyDataSetChanged();
            }
        } else {
            rest.dismissProgressdialog();
            Toast.makeText(Service_Manage.this, "No Data found", Toast.LENGTH_SHORT).show();
        }
4

1 回答 1

1

而不是手动解析 json 响应。将您的 json 粘贴到此处http://www.jsonschema2pojo.org/并使用 GSON 或 Jackson 以方便解析响应。有许多可用的教程可以让您快速了解如何完成工作。如果您的应用程序有很多地方需要 Json 解析,那么值得一试。

于 2020-08-07T07:51:29.913 回答