0

json 配列から値をフィルター処理する方法 文字列 zero1check =0 の場合、その json 配列のみを Category_name.add(object.getString("dish_name")); に追加します。ここで、「日」:「m1」

zero1check = 0 の場合、Category_name.add(object.getString("dish_name")); に追加します。"day":"m2" を含む json 配列のみ

  {
  "status":1,
  "data":
    [
    {
   "school_name":"testing12",
     "menu_title":"Menu1",
    "dish_name":null,
   "day":"m1"
    }
   ,
    {
     "school_name":"testing12"
   ,"menu_title":"Menu1",
      "dish_name":null,
      "day":"m1"
     }

     ,
    {
     "school_name":"testing12"
     ,"menu_title":"Menu1",
  "dish_name":null,
      "day":"m2"
   }


   ,
    {
    "school_name":"testing12"
   ,"menu_title":"Menu1",
   "dish_name":null,
   "day":"m2"
     }
    ]
    }



     static ArrayList<Long> Category_ID = new ArrayList<Long>();
 static ArrayList<String> Category_name = new ArrayList<String>();
 static ArrayList<String> menu_name = new ArrayList<String>();

         String  zero1check;



            JSONObject json2 = new JSONObject(str);

            status = json2.getString("status");
            if (status.equals("1")) {



            JSONArray school = json2.getJSONArray("data");

            for (int i = 0; i < school.length(); i++) {
                JSONObject object = school.getJSONObject(i);


                Category_ID.add((long) i);
                Category_name.add(object.getString("dish_name"));




                menu_name.add(object.getString("menu_title"));



                String[] mVal = new String[school.length()];

                for (int k = 0; k < school.length(); k++) {
                    mVal[k] = 
                 school.getJSONObject(k).getString("menu_title");

                    menu_nametxt.setText(mVal[0]);

                }
4

1 に答える 1

0

これを試してください..次に、zero1checkデータ型をintに変更します

 JSONArray school = json2.getJSONArray("data");

                    for (int i1 = 0; i1 < school.length(); i1++) {
                        JSONObject object = school.getJSONObject(i1);

                        if(zero1check == 0)
                        {

                            if(object.getString("id").equals("m1"))
                            {
                                Category_name.add(object.getString("dish_name"));
                            }

                        }
                        else if(zero1check == 1)
                        {

                            if(object.getString("id").equals("m2"))
                            {
                                Category_name.add(object.getString("dish_name"));
                            }

                        }

                    }
于 2013-08-27T07:47:39.147 に答える