본문 바로가기

개발/Java

[Java] Jackson 라이브러리 사용법 Object to json

반응형
  • Jackson 라이브러리란?
    • Jackson 라이브러리는 Java 언어를 사용하여 JSON 데이터를 처리하고 Java 객체로 변환하거나 반대로 JSON으로 직렬화하는 데 사용되는 라이브러리입니다.
  • Jackson의 장점
    • 강력하고 유연한 JSON 데이터 처리 기능.
    • 빠른 성능.
    • 다양한 데이터 형식(JSON, XML, YAML)을 처리할 수 있음.

2. Jackson 기본 사용법

2.1. 의존성 설정

  • Maven 또는 Gradle을 사용하여 Jackson 라이브러리를 프로젝트에 추가.

2.2. 객체에서 JSON으로 직렬화 (Serialization)

  • ObjectMapper를 사용하여 Java 객체를 JSON 문자열로 변환.
  • @JsonProperty 어노테이션을 사용하여 JSON 필드 이름 지정.

2.3. JSON에서 객체로 역직렬화 (Deserialization)

  • JSON 문자열을 Java 객체로 변환.
  • ObjectMapper를 사용하여 JSON을 객체로 역직렬화.
  • 필요한 경우 @JsonCreator@JsonProperty 어노테이션을 사용하여 역직렬화 프로세스 제어.

2.4. 고급 기능

  • 다양한 JSON 형식 (camelCase, snake_case, PascalCase) 처리.
  • JSON 배열 처리.
  • 불필요한 속성 무시.
  • 사용자 정의 직렬화 및 역직렬화.

3. 예제

3.1. JSON 직렬화 예제

public class Person {
    @JsonProperty("full_name")
    private String fullName;
    private int age;

    // getter, setter, 기타 메서드
}

public class Main {
    public static void main(String[] args) throws JsonProcessingException {
        ObjectMapper objectMapper = new ObjectMapper();
        Person person = new Person();
        person.setFullName("John Doe");
        person.setAge(30);
        String json = objectMapper.writeValueAsString(person);
        System.out.println(json);
    }
}

3.2. JSON 역직렬화 예제

public class Person {
    @JsonProperty("full_name")
    private String fullName;
    private int age;

    // getter, setter, 기타 메서드
}

public class Main {
    public static void main(String[] args) throws IOException {
        String json = "{\\"full_name\\":\\"Alice Smith\\",\\"age\\":25}";
        ObjectMapper objectMapper = new ObjectMapper();
        Person person = objectMapper.readValue(json, Person.class);
        System.out.println("Name: " + person.getFullName());
        System.out.println("Age: " + person.getAge());
    }
}

4. 마무리

  • Jackson 라이브러리는 JSON 데이터 처리를 위한 강력한 도구입니다.
  • JSON 직렬화 및 역직렬화를 통해 Java 객체와 JSON 데이터 간 변환을 손쉽게 수행할 수 있습니다.
  • 다양한 옵션과 기능을 활용하여 JSON 데이터 처리를 더욱 효과적으로 수행할 수 있습니다.

이 세미나 자료를 참고하여 Jackson 라이브러리를 학습하고 사용하는 데 도움이 되기를 바랍니다. Jackson 라이브러리의 공식 문서와 예제 코드를 추가로 탐구하는 것도 유용할 것입니다.

반응형