상세 컨텐츠

본문 제목

ObjectMapper 매퍼 = new ObjectMapper()

Spring(프레임워크)

by 헬로제이콥 2025. 1. 24. 09:31

본문

ObjectMapper 매퍼 = new ObjectMapper(); 설명

ObjectMapper는 Jackson 라이브러리에서 제공하는 클래스로, Java 객체와 JSON 데이터 간의 변환을 담당합니다. 즉, Java 객체를 JSON 문자열로 변환하거나, JSON 문자열을 Java 객체로 변환하는 작업을 수행합니다.

ObjectMapper의 역할

  • 직렬화 (Serialization): Java 객체를 JSON 형식의 문자열로 변환하는 과정입니다.
  • 역직렬화 (Deserialization): JSON 형식의 문자열을 Java 객체로 변환하는 과정입니다.

코드 설명

자바
 
ObjectMapper mapper = new ObjectMapper();
  • ObjectMapper mapper: ObjectMapper 객체를 생성하여 mapper 변수에 할당합니다. 이 객체를 통해 다양한 직렬화/역직렬화 작업을 수행할 수 있습니다.
  • new ObjectMapper(): ObjectMapper 클래스의 기본 생성자를 호출하여 새로운 ObjectMapper 객체를 생성합니다.

ObjectMapper의 주요 기능

  • 객체를 JSON으로 변환: writeValueAsString() 메소드를 사용하여 Java 객체를 JSON 문자열로 변환합니다.
  • JSON을 객체로 변환: readValue() 메소드를 사용하여 JSON 문자열을 Java 객체로 변환합니다.
  • 커스터마이징: 다양한 설정을 통해 직렬화/역직렬화 과정을 커스터마이징할 수 있습니다. 예를 들어, 날짜 형식, null 값 처리, 필드 이름 변경 등을 설정할 수 있습니다.

예시

자바
 
import com.fasterxml.jackson.databind.ObjectMapper;

class Person {
    private String name;
    private int age;
    // getter, setter 생략
}

public class Main {
    public static void main(String[] args) throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        
        Person person = new Person();
        person.setName("홍길동");
        person.setAge(30);

        // 객체를 JSON으로 변환
        String json = mapper.writeValueAsString(person);
        System.out.println(json); // 출력: {"name":"홍길동","age":30}

        // JSON을 객체로 변환
        Person person2 = mapper.readValue(json, Person.class);
        System.out.println(person2.getName()); // 출력: 홍길동
    }
}

추가 설명

  • Jackson 라이브러리: Java에서 JSON 처리를 위한 가장 많이 사용되는 라이브러리 중 하나입니다. ObjectMapper 외에도 다양한 유용한 클래스와 메소드를 제공합니다.
  • JSON: 자바스크립트 객체 표기법(JavaScript Object Notation)의 약자로, 데이터를 간결하고 가볍게 표현하는 데 사용되는 텍스트 기반 데이터 교환 형식입니다.
  • 직렬화/역직렬화: 객체를 데이터 스트림으로 변환하는 과정을 직렬화, 데이터 스트림을 객체로 변환하는 과정을 역직렬화라고 합니다.

ObjectMapper는 Java와 JSON 간의 데이터 교환을 효율적으로 처리하기 위한 필수적인 도구입니다. 다양한 설정을 통해 필요에 맞게 사용할 수 있습니다.

관련글 더보기