[java] 자바에서 JSON 데이터의 특정 속성 값 총합 구하기
JSON 데이터는 자바에서 다루기 위해 JSON 라이브러리를 사용하여 파싱해야 합니다. 이 문서에서는 자바에서 JSON 데이터를 파싱하고, 특정 속성의 값의 총합을 구하는 방법을 알아보겠습니다.
JSON 데이터 파싱하기
JSON 데이터를 파싱하기 위해 org.json
라이브러리를 사용해보겠습니다. 먼저, Gradle을 통해 org.json
라이브러리를 프로젝트에 추가합니다.
dependencies {
implementation 'org.json:json:20180813'
}
그리고 다음과 같은 JSON 데이터가 있다고 가정해봅시다.
{
"data": [
{
"name": "John",
"score": 80
},
{
"name": "Sarah",
"score": 90
},
{
"name": "Tom",
"score": 75
}
]
}
이 JSON 데이터를 자바에서 파싱하기 위해 다음과 같은 코드를 작성해봅시다.
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonDataParser {
public static void main(String[] args) {
String jsonData = "{ \"data\": [ { \"name\": \"John\", \"score\": 80 }, { \"name\": \"Sarah\", \"score\": 90 }, { \"name\": \"Tom\", \"score\": 75 } ] }";
JSONObject jsonObj = new JSONObject(jsonData);
JSONArray data = jsonObj.getJSONArray("data");
int sum = 0;
for (int i = 0; i < data.length(); i++) {
JSONObject obj = data.getJSONObject(i);
int score = obj.getInt("score");
sum += score;
}
System.out.println("총합: " + sum);
}
}
위 코드에서 jsonData
변수에 JSON 데이터를 할당합니다. 그리고 JSONObject
를 사용하여 JSON 객체로 파싱합니다. getJSONArray
메서드를 사용하여 “data” 속성을 가진 배열을 가져옵니다. 이후 배열의 각 요소를 순회하면서 “score” 속성의 값을 구하고 총합을 계산합니다.
위 코드를 실행하면 “총합: 245”가 출력될 것입니다.