2014-12-22 4 views
2

안녕하세요, 저는이 목록을 알파벳순으로이 json 객체 으로 정렬하고 싶습니다. 그러나 나는 logic과 약간의 문제가 있습니다. 아래의 compareTo 메소드를 사용했지만 캔트 누가자바 객체를 JSON 객체에 알파벳순으로 정렬하십시오.

 JSONObject practiceDetailsJson = new JSONObject(); 
     for (Practice practice : practices) { 
      practice.getPracticeName().compareTo(obj2.getName()); 
      practiceDetailsJson.put("practiceName", practice.getPracticeName()); 
      practiceDetailsJson.put("practiceCode", practice.getPracticeCode()); 
      practiceDetailsJson.put("practiceId", practice.getRowid()); 
      practicesAsJSON.add(practiceDetailsJson); 
      } 
     } 
+0

"캔트가 작동하지 않는 것 같습니다." obj2 란 무엇이며 JSONObject에 배열을 추가하는 for 루프 내부에서 compareTo를 호출 할 때 기대할 수있는 내용은 무엇입니까? – softwarenewbie7331

+0

메신저로 첫 번째와 두 번째 개체를 실제로 비교해보고 어느 것이 먼저 있는지 알아볼 방법이 있습니까? 다른 방법을 제안 할 수 있습니까? – kelevra88

+2

개체 배열을 정렬하려고합니까? 연습 클래스 – softwarenewbie7331

답변

3

당신은 여기에 비교를 만들려고 할 수 있습니다 도움이 될 수 있습니다, 그것은 (일을 몇 가지 방법을 시도 얻을 수가 사람에게 미리 감사드립니다.

class PracticeComparator implements Comparator<Practice> { 
      @Override 
      public int compare(Practice p1, Practice p2) { 

       return p1.getPracticeName().compareTo(p2.getPracticeName()); 
      } 
} 

당신은 사용할 수 있습니다 이 비교기는 다음과 같습니다 : -

Collections.sort(practices, new PracticeComparator()); 

이제 연습을 반복하여 JSON 형식으로 변환 할 수 있습니다.

+1

대단히 감사합니다. – kelevra88