Java에서 JSON을 처리하기 위한 라이브러리로, JSON 데이터의 직렬화(Serialization) 및 역직렬화(Deserialization)를 쉽게 수행할 수 있도록 도와준다.
ObjectMapper : JSON과 Java 객체 간의 변환을 수행하는 클래스. writeValueAsString(), readValue()등의 메서드를 통해 JSON 데이터를 손쉽게 변환할 수 있다.
// Jackson 라이브러리에서 제공하는 클래스.
ObjectMapper obj = new ObjectMapper();
// 객체형태의 값을 String으로 직렬화 한다.
String json = obj.writeValueAsString(new User("이름", 20)); // User 클래스에는 Getter가 필요하다.
System.out.println(json);
▶ {"name" : "이름", "age" : 20}
=================================================================================
// JSON 형태의 데이터를 객체형태로 역직렬화 한다. 실제 User 클래스의 변수 이름과 같아야 한다.
String json = "{\"name\":\"이름\",\"age\":20}" // JSON 타입의 String
ObjectMapper obj = new ObjectMapper();
// json 타입, 어떤 객체로 만들 것인지 클래스 타입 지정
User user = obj.readValue(json, User.class);
System.out.println(user.getName());
System.out.println(user.getAge());
▶ 이름
▶ 20
Stream API : JSON 데이터를 한 번에 모두 읽는 것이 아닌, 스트림 방식으로 처리하여 메모리 사용량을 줄일 수 있다.
List<User> users = Arrays.asList(
new User("이름1", 25),
new User("이름2", 32),
new User("이름3", 28),
new User("이름4", 35)
);
// Stream API를 사용하여 나이가 30 이상인 사용자의 이름을 수집
List<String> userNames = users.stream()
.filter(user -> user.getAge() >= 30) // 나이가 30 이상인 사용자 필터링
.map(User::getName) // 사용자 객체에서 이름만 추출
.collect(Collectors.toList()); // 결과를 리스트로 수집
System.out.println(userNames);
}
▶ [이름2, 이름4]
'🖥️ Back-end' 카테고리의 다른 글
DDD (Domain Driven Design) : 도메인 주도 설계 도전 1일차 (1) | 2025.03.13 |
---|---|
웹 사이트의 동작 원리 (0) | 2025.03.11 |
RabbitMQ 란? (0) | 2025.03.04 |
Redis 기본 문법 알아보기 (1) | 2025.03.03 |
인메모리 저장소와 Redis 란? - Redis Stack 설치 (0) | 2025.03.01 |