Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用数组值将jsonarray数据拆分为多个列表_Java_Android_Arraylist - Fatal编程技术网

Java 使用数组值将jsonarray数据拆分为多个列表

Java 使用数组值将jsonarray数据拆分为多个列表,java,android,arraylist,Java,Android,Arraylist,我想根据现有数据拆分ArrayList,如下所示 类别等 我尝试嵌套for循环并将它们添加到列表中。但它不起作用 String url = "http://27.147.169.230/UpSkillService/UpSkillsService.svc/" + "GetCNCCourseDefByorg/" + 1 +"/" +1; Ion.with(getApplicationContext()) .load("GET",url)

我想根据现有数据拆分
ArrayList
,如下所示 类别等

我尝试嵌套for循环并将它们添加到列表中。但它不起作用

String url = "http://27.147.169.230/UpSkillService/UpSkillsService.svc/" + "GetCNCCourseDefByorg/" + 1 +"/" +1;   

Ion.with(getApplicationContext())
                .load("GET",url)
                .setBodyParameter("","")
                .asString()
                .setCallback(new FutureCallback<String>() {
                    @Override
                    public void onCompleted(Exception e, String result) {
                        Log.d("Result",result);
                        try {
                            JSONObject obj =new JSONObject(result);
                            JSONArray jsonArray = obj.getJSONArray("GetCNCCourseDefByorgResult");
                            //Arrays.sort(new JSONArray[]{jsonArray});


                            if(obj.isNull("GetCNCCourseDefByorgResult"))
                            {
                                Toast.makeText(getApplicationContext(),"No Course Found",Toast.LENGTH_SHORT).show();
                            }
                            else if (!obj.equals(null)) {
                                String cata="";
                                Log.d("Resul3", jsonArray.toString());
                                for (int i = 0; i < jsonArray.length(); i++) {
                                    final CourseCatagory catagoryModel = new CourseCatagory();
                                    JSONObject course = jsonArray.getJSONObject(i);
                                    CourseList courselist = new CourseList();
                                    if(cata!=course.getString("CategoryName"))
                                    {
                                        Log.d("Catagory",cata);
                                        catagoryModel.setCategoryName(course.getString("CategoryName"));



                                        arrayListcatagory.add(catagoryModel);

                                        for (int j=0;j<jsonArray.length();j++)
                                        {
                                            JSONObject cat1 = jsonArray.getJSONObject(j);
                                            cata=cat1.getString("CategoryName");
                                            Log.d("cat",cata);
                                            if(cat1.getString("CategoryName")==course.getString("CategoryName"))
                                            {
                                                courselist.setCourseName(cat1.getString("CourseName"));
                                                courselist.setCourseCode(cat1.getString("CourseCode"));
                                                courselist.setWishFlag(cat1.getInt("WishFlag"));
                                                Log.d("Course",cat1.getString("CourseName"));
                                                arrayListcourse.add(courselist);

                                            }
                                            else {

                                            }

                                        }

                                    }
                       catagoryModel.setCourseList(arrayListcourse);

                                }

                                adapter.notifyDataSetChanged();
                               }

                        } catch (JSONException e1) {
                            e1.printStackTrace();
                        }
                    }
                });
    }
stringurl=”http://27.147.169.230/UpSkillService/UpSkillsService.svc/“+”GetCNCCourseDefByorg/“+1+”/“+1;
使用(getApplicationContext())
.load(“获取”,url)
.setBodyParameter(“,”)
.asString()
.setCallback(新的FutureCallback(){
@凌驾
未完成公共void(异常e,字符串结果){
Log.d(“结果”,结果);
试一试{
JSONObject obj=新JSONObject(结果);
JSONArray JSONArray=obj.getJSONArray(“getcnccoursedeffyorgresult”);
//sort(新的JSONArray[]{JSONArray});
if(obj.isNull(“GetCNCCourseDefByorgResult”))
{
Toast.makeText(getApplicationContext(),“找不到课程”,Toast.LENGTH_SHORT.show();
}
如果(!obj.equals(null))为else{
字符串cata=“”;
Log.d(“result3”,jsonArray.toString());
for(int i=0;i
  • 财务>导论财务
  • 您可以使用
    HashMap
    来解决问题

    首先创建CategoryDetails POJO类

       class CategoryDetails {
    
        private courseName;
        private courseCode;
        private wishFlag;
    
       //make setter and getter methods for above fields.
    
        }
    
    然后使用类别名称作为HashMap中的键来区分,如我的答案的第一行所述

    Map<String,ArrayList<CategoryDetails>> listCategory = new HashMap<String,ArrayList<CategoryDetails>>;
    
    MapListCategory=新HashMap;
    
    但它不起作用-->打开的是什么。你能提示一些输出吗?jsonarray>>{“GetCNCCourseDefByorgResult”:[{“CategoryID”:1,“CategoryName”:“Accounting”,“CourseCode”:“ACC001”,“CourseName”:“Accounting简介”,},{“CategoryID”:2,“CategoryName”:“Finance”,“CourseName”:“Finance”,“Introduction to Finance”,},{“CategoryID”:1,“CategoryName”:“Accounting”,“CourseCode”:“ACC002”,“CourseName”:“Advanced Accounting”,}}}}}课程名称应在同一类别下,但此处课程名称在每个类别下重复请解释。