SeouliteLab

[Java/자바] Java에서 JSON 파싱하기: 가장 쉬운 방법 본문

프로그래밍

[Java/자바] Java에서 JSON 파싱하기: 가장 쉬운 방법

Seoulite Lab 2024. 3. 15. 09:10

Java에서 JSON 데이터를 파싱하는 작업은 매우 흔한데, 이를 위한 여러 가지 방법이 있습니다. 그중에서도 가장 쉽고 간단한 방법들을 알아보겠습니다.

1. Gson 라이브러리 사용

Gson은 Google에서 만든 JSON 파싱 라이브러리로, 매우 간단하고 직관적인 API를 제공합니다. 다음은 Gson을 사용하여 JSON을 파싱하는 예제입니다.

// Gson 라이브러리 임포트
import com.google.gson.Gson;

// JSON 파싱 예제
public class Main {
    public static void main(String[] args) {
        String json = "{\"key\":\"value\"}"; // JSON 문자열

        // Gson을 사용하여 JSON 파싱
        Gson gson = new Gson();
        MyObject obj = gson.fromJson(json, MyObject.class);
        System.out.println(obj.getKey());  // 출력 결과: value
    }
}

// 객체 모델 클래스
class MyObject {
    private String key;

    // Getter 및 Setter 생략
}

2. Jackson 라이브러리 사용

Jackson 라이브러리도 간편한 JSON 파싱을 지원합니다. ObjectMapper 클래스를 사용하여 JSON을 Java 객체로 변환할 수 있습니다.

// Jackson 라이브러리 임포트
import com.fasterxml.jackson.databind.ObjectMapper;

// JSON 파싱 예제
public class Main {
    public static void main(String[] args) throws Exception {
        String json = "{\"key\":\"value\"}"; // JSON 문자열

        // ObjectMapper를 사용하여 JSON 파싱
        ObjectMapper mapper = new ObjectMapper();
        MyObject obj = mapper.readValue(json, MyObject.class);
        System.out.println(obj.getKey());  // 출력 결과: value
    }
}

// 객체 모델 클래스
class MyObject {
    private String key;

    // Getter 및 Setter 생략
}

3. JSON-Simple 라이브러리 사용

JSON-Simple은 간단한 JSON 파싱을 위한 라이브러리로, 추가적인 의존성 없이 사용할 수 있습니다.

// JSON-Simple 라이브러리 임포트
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;

// JSON 파싱 예제
public class Main {
    public static void main(String[] args) throws Exception {
        String json = "{\"key\":\"value\"}"; // JSON 문자열

        // JSONParser를 사용하여 JSON 파싱
        JSONParser parser = new JSONParser();
        JSONObject obj = (JSONObject) parser.parse(json);
        System.out.println(obj.get("key"));  // 출력 결과: value
    }
}

4. org.json 라이브러리 사용

org.json은 Java에서 기본적으로 제공되는 JSON 라이브러리로, 간단한 JSON 파싱 작업에 적합합니다.

// org.json 라이브러리 임포트
import org.json.JSONObject;

// JSON 파싱 예제
public class Main {
    public static void main(String[] args) {
        String json = "{\"key\":\"value\"}"; // JSON 문자열

        // JSON 객체 생성 및 파싱
        JSONObject obj = new JSONObject(json);
        System.out.println(obj.getString("key"));  // 출력 결과: value
    }
}

5. Jackson JsonNode 사용

Jackson의 JsonNode 클래스를 사용하여 JSON을 파싱할 수도 있습니다. 이 방법은 JSON의 구조를 동적으로 파악할 때 유용합니다.

// Jackson 라이브러리 임포트
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

// JSON 파싱 예제
public class Main {
    public static void main(String[] args) throws Exception {
        String json = "{\"key\":\"value\"}"; // JSON 문자열

        // ObjectMapper를 사용하여 JSON 파싱
        ObjectMapper mapper = new ObjectMapper();
        JsonNode root = mapper.readTree(json);
        System.out.println(root.get("key").asText());  // 출력 결과: value
    }
}

6. JsonPath 라이브러리 사용

JsonPath는 JSON 데이터에서 특정 값이나 객체를 쿼리하는데 사용되는 라이브러리입니다. 다음은 JsonPath를 사용한 예제입니다.

// JsonPath 라이브러리 임포트
import com.jayway.jsonpath.JsonPath;

// JSON 파싱 예제
public class Main {
    public static void main(String[] args) {
        String json = "{\"key\":\"value\"}"; // JSON 문자열

        // JsonPath를 사용하여 JSON 파싱
        String value = JsonPath.read(json, "$.key");
        System.out.println(value);  // 출력 결과: value
    }
}