[java] 자바에서 JSON 데이터의 특정 속성 값 최대값 구하기
JSON 형식의 데이터에서 특정 속성의 최대값을 구하는 방법에 대해 알아보겠습니다. 자바에서는 JSON 데이터를 다루기 위해 여러 라이브러리가 있지만, 이 예시에서는 “org.json” 라이브러리를 사용하도록 하겠습니다.
1. JSON 데이터 준비
먼저, JSON 형식의 데이터를 준비해야 합니다. 예시로 아래와 같은 JSON 데이터를 사용하겠습니다.
[
{
"name": "John",
"age": 20,
"score": 80
},
{
"name": "Sarah",
"age": 25,
"score": 90
},
{
"name": "Mike",
"age": 22,
"score": 95
}
]
위 데이터는 사용자의 이름, 나이 및 점수를 갖고 있습니다.
2. JSON 데이터 파싱 및 최대값 구하기
이제 자바 코드를 사용하여 JSON 데이터를 파싱하고 특정 속성의 최대값을 구하는 과정을 살펴보겠습니다.
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class MaxValueFromJSON {
public static void main(String[] args) {
String jsonString = "[{\"name\":\"John\",\"age\":20,\"score\":80},{\"name\":\"Sarah\",\"age\":25,\"score\":90},{\"name\":\"Mike\",\"age\":22,\"score\":95}]";
try {
JSONArray jsonArray = new JSONArray(jsonString);
int maxScore = Integer.MIN_VALUE;
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
int score = jsonObject.getInt("score");
if (score > maxScore) {
maxScore = score;
}
}
System.out.println("최대 점수: " + maxScore);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
위 코드에서는 org.json
라이브러리의 JSONArray
와 JSONObject
클래스를 사용하여 JSON 데이터를 파싱합니다. 각 객체의 “score” 속성을 비교하여 최대값을 찾습니다.
최대값을 찾기 위해 우선 maxScore
변수를 Integer.MIN_VALUE
로 초기화합니다. JSONArray
의 각 요소에 대해 getJSONObject()
메소드를 사용하여 JSON 객체를 가져온 다음, “score” 속성의 값을 가져와 maxScore
와 비교합니다. 더 큰 값이라면 maxScore
를 업데이트합니다.
3. 실행 결과
위 코드를 실행하면 아래와 같은 결과가 출력됩니다.
최대 점수: 95
JSON 데이터에서 “score” 속성의 최대값인 95를 출력합니다.