>  기사  >  Java  >  Java에서 JSONArray를 어떻게 정렬할 수 있나요?

Java에서 JSONArray를 어떻게 정렬할 수 있나요?

WBOY
WBOY앞으로
2023-09-14 16:21:031416검색

Java에서 JSONArray를 어떻게 정렬할 수 있나요?

JSON은 널리 사용되는 데이터 교환 형식 중 하나이며 경량 >언어 독립적입니다. JSONArray는 문자열의 텍스트를 구문 분석하여 벡터-유사한 객체를 생성할 수 있으며 java.util.List 인터페이스를 지원합니다.

아래 예에서는 JSONArray를 정렬할 수 있습니다.

import java.util.*;
import org.json.*;
public class SortJSONArrayTest {
   public static void main(String[] args) {
      String jsonStr = "[ { \"ID\": \"115\", \"Name\": \"Raja\" },{ \"ID\": \"120\", \"Name\": \"Jai\" },{ \"ID\": \"125\", \"Name\": \"Adithya\" }]";
      JSONArray jsonArray = new JSONArray(jsonStr);
      JSONArray sortedJsonArray = new JSONArray();
      List list = new ArrayList();
      for(int i = 0; i < jsonArray.length(); i++) {
         list.add(jsonArray.getJSONObject(i));
      }
      System.out.println("Before Sorted JSONArray: " + jsonArray);
      Collections.sort(list, new Comparator() {
         private static final String KEY_NAME = "Name";
         @Override
         public int compare(JSONObject a, JSONObject b) {
            String str1 = new String();
            String str2 = new String();
            try {
               str1 = (String)a.get(KEY_NAME);
               str2 = (String)b.get(KEY_NAME);
            } catch(JSONException e) {
               e.printStackTrace();
            }
            return str1.compareTo(str2);
         }
      });
      for(int i = 0; i < jsonArray.length(); i++) {
        <strong> </strong>sortedJsonArray.put(list.get(i));
      }
      System.out.println("Sorted JSON Array with Name: " + sortedJsonArray);
   }
}

출력

Before Sorted JSONArray:
[{"ID":"115","Name":"Raja"},
   {"ID":"120","Name":"Jai"},
   {"ID":"125","Name":"Adithya"}]
Sorted JSON Array with Name:
[{"ID":"125","Name":"Adithya"},
   {"ID":"120","Name":"Jai"},
   {"ID":"115","Name":"Raja"}]

위 내용은 Java에서 JSONArray를 어떻게 정렬할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제