스마트웹앱콘텐츠전문가/JAVA

Java 개발자를 위한 JSON 데이터 파싱 가이드 (Jackson & Gson)

9D4U 2025. 3. 11. 10:21
728x90
반응형

Java에서 JSON 데이터를 파싱하는 방법에는 여러 가지가 있지만, 가장 많이 사용되는 라이브러리 두 가지는 JacksonGson입니다. 이들 라이브러리를 사용하면 JSON 파일을 쉽게 파싱할 수 있습니다. 여기서는 Jackson 라이브러리를 사용한 방법을 예시로 설명하겠습니다.

 

 


1. Jackson 라이브러리로 JSON 파싱하기

 

Jackson은 JSON을 Java 객체로 변환하는 데 매우 유용한 라이브러리입니다. Jackson을 사용하여 JSON 파일을 파싱하는 기본적인 방법을 설명하겠습니다.

 

 

1.1. Jackson 라이브러리 추가

먼저 Jackson 라이브러리를 프로젝트에 추가해야 합니다. 만약 Maven을 사용하고 있다면 pom.xml 파일에 아래 의존성을 추가해 주세요:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.0</version> <!-- 최신 버전을 확인하고 사용하세요 -->
</dependency>

Gradle을 사용하는 경우 build.gradle에 다음을 추가합니다:

implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.0'  // 최신 버전 확인

 

1.2. JSON 파일 읽기 및 파싱하기

다음은 JSON 데이터를 Java 객체로 파싱하는 방법입니다. 예를 들어, JSON 파일이 다음과 같은 내용을 가지고 있다고 가정합니다:

sample.json

{
    "name": "John Doe",
    "age": 30,
    "email": "john.doe@example.com"
}

이제 이 JSON 파일을 Java 객체로 변환하는 방법을 보여드립니다.

 

1.2.1. Java 클래스 정의

먼저 JSON 구조와 일치하는 Java 클래스를 작성해야 합니다. 위의 JSON 데이터를 파싱하기 위해 아래와 같이 Person 클래스를 정의할 수 있습니다:

public class Person {
    private String name;
    private int age;
    private String email;

    // Getters and setters
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

 

1.2.2. JSON 파싱 코드 작성

이제 ObjectMapper 클래스를 사용하여 JSON 파일을 읽고, 이를 Person 객체로 변환합니다.

import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
import java.io.IOException;

public class JsonParser {
    public static void main(String[] args) {
        // JSON 파일 경로
        File jsonFile = new File("sample.json");

        // ObjectMapper 객체 생성
        ObjectMapper objectMapper = new ObjectMapper();

        try {
            // JSON 파일을 Java 객체로 변환
            Person person = objectMapper.readValue(jsonFile, Person.class);

            // 객체의 데이터 출력
            System.out.println("Name: " + person.getName());
            System.out.println("Age: " + person.getAge());
            System.out.println("Email: " + person.getEmail());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

이 코드는 sample.json 파일을 읽고, 이를 Person 객체로 변환한 후 객체의 필드를 출력합니다.

 

1.3. 실행 결과

위 코드를 실행하면, sample.json 파일의 내용이 Java 객체로 파싱되어 아래와 같은 출력이 나옵니다:

Name: John Doe
Age: 30
Email: john.doe@example.com

 

 

반응형

 

 


2. Gson 라이브러리로 JSON 파싱하기

 

Jackson 외에도 Gson을 사용하여 JSON을 파싱할 수도 있습니다. Gson은 Google에서 제공하는 라이브러리로, 사용법이 매우 간단합니다.

 

 

2.1. Gson 라이브러리 추가

Maven 프로젝트에서는 아래 의존성을 pom.xml에 추가합니다:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.8</version> <!-- 최신 버전 확인 -->
</dependency>

 

2.2. Gson으로 JSON 파싱

Gson을 사용하여 JSON 파일을 파싱하는 방법은 다음과 같습니다.

 

2.2.1. Java 클래스 정의

위와 동일한 Person 클래스를 정의합니다.

public class Person {
    private String name;
    private int age;
    private String email;

    // Getters and setters
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

 

2.2.2. JSON 파싱 코드 작성

Gson을 사용한 JSON 파싱 코드는 다음과 같습니다:

import com.google.gson.Gson;
import java.io.FileReader;
import java.io.IOException;

public class JsonParser {
    public static void main(String[] args) {
        // JSON 파일 경로
        try (FileReader reader = new FileReader("sample.json")) {
            // Gson 객체 생성
            Gson gson = new Gson();

            // JSON 파일을 Java 객체로 변환
            Person person = gson.fromJson(reader, Person.class);

            // 객체의 데이터 출력
            System.out.println("Name: " + person.getName());
            System.out.println("Age: " + person.getAge());
            System.out.println("Email: " + person.getEmail());
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

2.3. 실행 결과

Jackson을 사용할 때와 마찬가지로, 위 코드를 실행하면 JSON 데이터가 Java 객체로 변환되어 아래와 같은 출력이 나타납니다:

Name: John Doe
Age: 30
Email: john.doe@example.com

 

 


 

 

 

Java에서 JSON 데이터를 파싱하는 방법은 Jackson과 Gson 두 가지 주요 라이브러리를 사용하여 간단하게 할 수 있습니다. Jackson은 더 많은 기능을 제공하며, Gson은 사용법이 간단하고 직관적입니다. 선택은 프로젝트의 요구 사항에 따라 다를 수 있습니다.

  • Jackson: 대규모 프로젝트에서 복잡한 JSON 구조를 처리할 때 유리
  • Gson: 간단하고 빠른 JSON 파싱을 원할 때 유리
728x90