[java] 자바에서 JSON 데이터의 특정 항목을 포함한 객체 찾기

자바에서 JSON 데이터의 특정 항목을 포함한 객체를 찾는 방법에 대해 알아보겠습니다.

1. JSON 데이터 가져오기

먼저, JSON 데이터를 가져와서 자바에서 사용할 수 있도록 파싱해야 합니다. 이를 위해 org.json 라이브러리를 사용하겠습니다. JSON 데이터를 가져오는 방법은 다양하지만, 가정으로 직접 문자열로 JSON 데이터를 생성하겠습니다.

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class JSONExample {
    public static void main(String[] args) {
        String jsonString = "{\"students\":[{\"name\":\"John\", \"age\":20}, {\"name\":\"Jane\", \"age\":22}, {\"name\":\"Sam\", \"age\":25}]}";

        try {
            JSONObject jsonObject = new JSONObject(jsonString);
            JSONArray studentsArray = jsonObject.getJSONArray("students");

            // 여기서부터 특정 항목을 포함한 객체를 찾는 로직을 구현합니다.

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

위 코드에서는 JSONObject 클래스와 JSONArray 클래스를 사용하여 JSON 데이터를 파싱합니다. JSON 데이터에서 students 속성의 값을 가져온 후, 이후의 로직에서 특정 항목을 포함한 객체를 찾게 될 것입니다.

2. 객체 찾기

특정 항목을 포함한 객체를 찾기 위해서는 반복문을 사용하여 각각의 객체를 순회하면서 조건을 검사해야 합니다. 예를 들어, age 항목이 22인 학생을 찾고 싶다면 다음과 같이 코드를 작성할 수 있습니다.

for (int i = 0; i < studentsArray.length(); i++) {
    JSONObject studentObject = studentsArray.getJSONObject(i);
    int age = studentObject.getInt("age");

    if (age == 22) {
        // 원하는 작업을 수행합니다. 예를 들어, 해당 학생의 이름을 출력할 수 있습니다.
        String name = studentObject.getString("name");
        System.out.println("찾은 학생: " + name);
        break;
    }
}

위 코드에서는 studentsArray에 있는 개별적인 학생 객체를 가져오고, age 항목을 검사하여 원하는 조건과 일치하는지 확인합니다. 조건에 맞는 학생 객체를 찾았을 때, 원하는 작업을 수행할 수 있습니다.

3. 실행 결과

위 예시 코드를 실행하면, 결과로 찾은 학생: Jane이라는 출력을 얻을 수 있습니다. 이는 age가 22인 학생 Jane을 찾았기 때문입니다.

이와 같은 방법으로 자바에서 JSON 데이터의 특정 항목을 포함한 객체를 찾을 수 있습니다.

참고 자료