2016-08-05 39 views
0

RecyclerViewを使用してデータをフェッチすることはできますが、シネマックスを繰り返します。他のネストされたデータを無視せずに1つのCinemaxを除外します。AndroidのJSON配列でネストされたJSONを呼び出す方法

[{"Cinemax":"Metrop Cinemax","Contacts":"0704594180", 
"Movie":[{"MovieName":"Ice Age 3","ShowTime":{"Monday":"1:30 p.m , 3:40 p.m", 
"Tuesday":"1:30 pm , 3:40 p.m","Wednesday":"1:30 p.m., 3:40 p.m","Thursday":"1:30 p.m., 3:40 p.m", 
"Friday":"1:30 p.m., 3:40 p.m","Saturday":"1:30 p.m., 3:40 p.m","Sunday":"1:30 p.m., 3:40 p.m"}, 
"Synopsis":"Manny, Diego and sid","photo":"ice_age_3.jpg","others":null}]}, 
{"Cinemax":"Metrop Cinemax","Contacts":"0704594180", 
"Movie":[{"MovieName":"Zootopia","ShowTime":{"Monday":"4:30 p.m , 6:30 p.m","Tuesday":"4:30 p.m , 6:30 p.m", 
"Wednesday":"4:30 p.m , 6:30 p.m","Thursday":"4:30 p.m , 6:30 p.m","Friday":"4:30 p.m , 6:30 p.m", 
"Saturday":"4:30 p.m , 6:30 p.m","Sunday":"4:30 p.m , 6:30 p.m"}, 
"Synopsis":"Manny, Diego and sid","photo":"zootopia.jpg","others":null}]} 
{"Cinemax":"Huxy Cinemax","Contacts":"0704594180", 
"Movie":[{"MovieName":"Zootopia","ShowTime":{"Monday":"4:30 p.m , 6:30 p.m","Tuesday":"4:30 p.m , 6:30 p.m", 
"Wednesday":"4:30 p.m , 6:30 p.m","Thursday":"4:30 p.m , 6:30 p.m","Friday":"4:30 p.m , 6:30 p.m", 
"Saturday":"4:30 p.m , 6:30 p.m","Sunday":"4:30 p.m , 6:30 p.m"}, 
"Synopsis":"Manny, Diego and sid","photo":"zootopia.jpg","others":null}]} 

これは、基準は、あなたがフィルタリングしたいんれているJava

private void parseResult(String result) { 
     try { 

      JSONArray ar = new JSONArray(result); 

      feedsList = new ArrayList<>(); 

      for (int i = 0; i < ar.length(); i++) { 
       JSONObject obj = ar.getJSONObject(i); 
       ItemObjects item = new ItemObjects(); 

       item.setCinemaName(obj.optString("CinemaName")); 
       item.setContact(obj.optString("Contacts")); 
       item.setMovieName(obj.optString("MovieName")); 
       item.setMonday(obj.optString("Monday")); 
       item.setCinemaxPhoto(obj.optString("Tuesday")); 
       . 
       . 
       . item.setSynopsis(obj.optString("Synopsis")); 
       item.setPhoto(obj.optString("photo")); 

       feedsList.add(item); 
      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 
    } 
+0

を使用して、私のメソッドアムのですか? –

+0

RecyclerViewの最初のリストを解析しているとき、自分自身を繰り返さずにCinemaxのリストのみを必要とします(Cinemaxのリピートのフィルタリング)。そして、その中の1つをクリックした後、私はすべての映画とCinemaxの関連情報を取得します。 @Prera​​k Sola –

+0

'ExpandableListView'を検索します。それはあなたが望むものです。 –

答えて

0
private void parseResult(String result) { 
    try { 

     JSONArray ar = new JSONArray(result); 

     feedsList = new ArrayList<>(); 

     for (int i = 0; i < ar.length(); i++) { 
      JSONObject obj = ar.getJSONObject(i); 
      ItemObjects item = new ItemObjects(); 

      item.setCinemaName(obj.optString("CinemaName")); 
      item.setContact(obj.optString("Contacts")); 

      //Here you have another Movie Json Array so get it in JSONArray 
      JSONArray movieArray =obj.getJSONArray("Movie"); 

      //get the first object of Movie JSONArray and use it. 
      JSONObject movieObject=movieArray.getJSONObject(0); 


      item.setMovieName(movieObject.optString("MovieName")); 


      //This JSOn object to get SHOWTIME object 
      JSONObject showTime=movieObject.getJSONObject("ShowTime"); 

      item.setMonday(showTime.optString("Monday")); 
      item.setCinemaxPhoto(showTime.optString("Tuesday")); 

      item.setSynopsis(movieObject.optString("Synopsis")); 
      item.setPhoto(movieObject.optString("photo")); 

      feedsList.add(item); 
     } 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
} 
関連する問題