Categories: 미분류

Java에서 JSON 처리 과정 중 JSON 파싱과 생성 방법에 대해 알아보겠습니다.

JSON(JavaScript Object Notation)은 데이터를 교환하기 위한 경량 데이터 포맷으로, Java 애플리케이션에서도 널리 사용됩니다. 이번 글에서는 Java에서 JSON 처리 과정 중 JSON 파싱과 생성 방법에 대해 알아 보겠습니다.


1. JSON 처리 라이브러리

Java에서 JSON을 처리하기 위해 가장 많이 사용하는 라이브러리는 다음과 같습니다:

  1. Jackson: 성능이 우수하며, 다양한 기능을 제공합니다.
  2. Gson: Google에서 개발한 간단하고 가벼운 라이브러리.
  3. org.json: 기본적인 JSON 처리 기능을 제공하는 표준 라이브러리.

2. Jackson을 이용한 JSON 처리

Jackson 라이브러리 추가

Maven 프로젝트에서 pom.xml에 다음 종속성을 추가합니다:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.14.0</version>
</dependency>
  1. JSON 문자열 파싱(Deserialization)
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;

public class JsonParsingExample {
    public static void main(String[] args) {
        String jsonString = "{\"name\":\"John\",\"age\":30}";

        ObjectMapper objectMapper = new ObjectMapper();
        try {
            Person person = objectMapper.readValue(jsonString, Person.class);
            System.out.println("이름: " + person.getName());
            System.out.println("나이: " + person.getAge());
        } catch (IOException e) {
            System.out.println("JSON 파싱 오류: " + e.getMessage());
        }
    }
}

class Person {
    private String name;
    private int age;

    // Getter와 Setter
    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;
    }
}

출력:

이름: John
나이: 30
  1. JSON 생성(Serialization)
public class JsonCreationExample {
    public static void main(String[] args) {
        Person person = new Person();
        person.setName("Jane");
        person.setAge(25);

        ObjectMapper objectMapper = new ObjectMapper();
        try {
            String jsonString = objectMapper.writeValueAsString(person);
            System.out.println("생성된 JSON: " + jsonString);
        } catch (IOException e) {
            System.out.println("JSON 생성 오류: " + e.getMessage());
        }
    }
}

출력

생성된 JSON: {"name":"Jane","age":25}

3. Gson을 이용한 JSON 처리

Gson 라이브러리 추가

Maven 프로젝트에서 pom.xml에 다음 종속성을 추가합니다:

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.9.0</version>
</dependency>
  1. JSON 파싱
import com.google.gson.Gson;

public class GsonParsingExample {
    public static void main(String[] args) {
        String jsonString = "{\"name\":\"Alice\",\"age\":28}";

        Gson gson = new Gson();
        Person person = gson.fromJson(jsonString, Person.class);

        System.out.println("이름: " + person.getName());
        System.out.println("나이: " + person.getAge());
    }
}
  1. JSON 생성
public class GsonCreationExample {
    public static void main(String[] args) {
        Person person = new Person();
        person.setName("Bob");
        person.setAge(35);

        Gson gson = new Gson();
        String jsonString = gson.toJson(person);

        System.out.println("생성된 JSON: " + jsonString);
    }
}

4. org.json을 이용한 JSON 처리

Java 표준 라이브러리 org.json을 사용하여 JSON을 처리할 수도 있습니다.

  1. JSON 파싱
import org.json.JSONObject;

public class OrgJsonParsingExample {
    public static void main(String[] args) {
        String jsonString = "{\"name\":\"Charlie\",\"age\":40}";

        JSONObject jsonObject = new JSONObject(jsonString);
        String name = jsonObject.getString("name");
        int age = jsonObject.getInt("age");

        System.out.println("이름: " + name);
        System.out.println("나이: " + age);
    }
}
  1. JSON 생성
import org.json.JSONObject;

public class OrgJsonCreationExample {
    public static void main(String[] args) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("name", "Dave");
        jsonObject.put("age", 45);

        System.out.println("생성된 JSON: " + jsonObject.toString());
    }
}

결론

Java에서 JSON 처리 과정 중 JSON 파싱과 생성 방법에 알아 보았습니다. Java에서 JSON을 처리하기 위해 다양한 라이브러리를 활용할 수 있습니다.

Jackson은 강력한 기능과 성능을 제공하며, Gson은 간단한 JSON 작업에 적합합니다.

또한, org.json은 표준적인 JSON 처리를 위한 기본 옵션으로 사용할 수 있습니다.  다음 블로그는 Spring Framework 입문 중 Spring에 대해 알아 보도록 하겠습니다. 감삽니다.

루루파파

Recent Posts

2025년 디딤돌 전세 대출로 전세금 2억 원 마련한 후기 (금리, 한도, 계산기 활용)

디딤돌 전세 대출을 받은 실제 경험 바탕으로 포스팅을 작성합니다. 디딤돌 대출은 생애최초, 신혼부부 대출로 나뉘어져…

3주 ago

Spring Security를 활용한 인증 및 권한 관리에 대해 알아보기

현대 웹 애플리케이션에서는 보안이 중요한 요소이며, Spring Security는 강력한 인증 및 권한 관리 기능을 제공합니다.…

3주 ago

Java에서의 로깅 및 모니터링 전략에 대해 알아보기

애플리케이션 개발에서 로깅(logging)과 모니터링(monitoring)은 필수적인 요소입니다. Java 애플리케이션이 실행되는 동안 발생하는 이벤트를 기록하고, 성능 및…

4주 ago

Java에서의 API 설계 가이드 중 RESTful API vs GraphQL API에 대해 알아보기

API(Application Programming Interface)는 애플리케이션 간 데이터를 주고받기 위한 인터페이스로, Java에서는 주로 RESTful API와 GraphQL API를…

4주 ago

Java에서의 디자인 패턴 심화 중 GoF 패턴 분석에 대해 알아보기

디자인 패턴(Design Patterns)은 소프트웨어 개발에서 자주 발생하는 문제를 해결하기 위한 일반적인 해결책을 제공합니다. 특히, GoF(Gang…

4주 ago

Java 애너테이션(Annotation)과 커스텀 애너테이션 활용법에 대해 알아보기

Java의 애너테이션(Annotation)은 메타데이터를 코드에 추가하는 기능을 제공합니다. 이를 활용하면 코드의 가독성을 높이고, 프레임워크에서 런타임 처리를…

4주 ago