2014-07-07 1 views
1

이러한 요소가 나는 두 번째 배열에서 "로컬"등의 각 객체에서 이러한 요소어떻게 자바

[ 
    {"inicio":"11:15:00","dia":"04\/07\/2014","local":"R. Domingos Cristal, 1-103 - ジャルジン・アンジェラ - São Paulo","fim":"18:45:00"}, 
    {"inicio":"11:15:00","dia":"06\/07\/2014","local":"R. Domingos Cristal, 103 - ジャルジン・アンジェラ - São Paulo","fim":"19:45:00"},  
    {"inicio":"11:15:00","dia":"05\/07\/2014","local":"R. Domingos Cristal, 103 - ジャルジン・アンジェラ - São Paulo","fim":"19:45:00"}, 
    {"inicio":"11:15:00","dia":"04\/07\/2014","local":"R. Domingos Cristal, 103 - ジャルジン・アンジェラ - São Paulo","fim":"19:45:00"}, 
    {"inicio":"11:15:00","dia":"06\/07\/2014","local":"R. Domingos Cristal, 1-103 - ジャルジン・アンジェラ - São Paulo","fim":"19:45:00"}, 
    {"inicio":"11:15:00","dia":"05\/07\/2014","local":"R. Domingos Cristal, 1-103 - ジャルジン・アンジェラ - São Paulo","fim":"19:45:00"} 
] 

나는 각 값을 얻으려면을, 구문 분석하는 데 약간의 문제에 직면하고있어 구문 분석 할 수 있습니다. 문자열로 변환하려고했지만 작동하지 않았습니다. 아마도이 문제는 첫 번째 구문 분석에 있습니다. 잘 모르겠습니다.

spots = json.getJSONArray("spots"); 
int length = spots.length(); 
      List<Object> listContents = new ArrayList<Object>(length); 

      for (int i=0; i<length; i++) { 
       try { 
        listContents.add(spots.getString(i)); 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 
      } 
      SpotsFragment.returnSpots(listContents, parent); 

내가이 하나의 시도 :

내 반응이다

public static void returnSpots(List<Object> listContents, Activity act) { 

    System.out.println(listContents); 
    ListView lv = (ListView) act.findViewById(R.id.listView); 
    lv.setAdapter(new ArrayAdapter<String>(act,android.R.layout.simple_list_item_1, listContents)); 
} 

그러나, 나는 각각의 값에 액세스 할 수없는 문자열로 객체 블록을 추가합니다.

답변

0

내 솔루션 : 응답 :

int length = spots.length(); 
      List<Object> listContents = new ArrayList<Object> (length); 
      for (int i = 0; i < length; i++) { 
       try { 
        listContents.add(spots.get(i)); 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 

      } 
      SpotsFragment.returnSpots(listContents, parent); 

반환 :

ArrayList<String> listObject = new ArrayList<String>(); 
    for (Object listContent : listContents) { 
     JSONObject obj = (JSONObject) listContent; 
     String inicio = obj.optString("inicio"); 
     String dia = obj.optString("dia"); 
     String local = obj.optString("local"); 
     String fim = obj.optString("fim"); 
     listObject.add(inicio); 
     listObject.add(dia); 
     listObject.add(local); 
     listObject.add(fim); 
    } 
    ListView lv = (ListView) act.findViewById(R.id.listView); 
    lv.setAdapter(new ArrayAdapter<String>(act, android.R.layout.simple_list_item_1, listObject));