ObjectMapper
-
Java JSON 처리 실전 시리즈 10화 – JSON ↔ YAML, XML 포맷 변환: Jackson 기반 다중 포맷 처리 전략기술과 산업/언어 및 프레임워크 2025. 5. 19. 11:02
Jackson은 JSON뿐 아니라 YAML, XML 등 다양한 포맷을 처리할 수 있는 모듈을 제공합니다. Spring Boot 환경에서 포맷 변환을 구현하는 방법과 실무 활용 전략을 예제로 설명합니다.1. 왜 JSON 외의 포맷이 필요한가?REST API 시대에도 여전히 다음과 같은 이유로 다양한 포맷 변환 수요가 존재합니다:YAML: 설정 파일, DevOps 구성, Kubernetes manifest 등에서 주로 사용XML: 금융, 보험, 공공기관 등 레거시 시스템과의 연동에서 사용CSV: 데이터 이관, 리포트, 분석용 다운로드 등에서 필요JSON ↔ YAML ↔ XML 간 변환이 필요한 상황이 실제 현장에서 반복적으로 발생Jackson은 이 모든 포맷을 하나의 ObjectMapper 구조를 확장해서 ..
-
Java JSON 처리 실전 시리즈 7화 – JSON 응답 필드 제어 전략: null 제외, 조건부 출력, 필터링 방법기술과 산업/언어 및 프레임워크 2025. 5. 19. 10:52
Spring Boot + Jackson 환경에서 JSON 응답 필드를 제어하는 방법을 정리합니다. @JsonInclude, @JsonView, @JsonFilter를 활용한 null 제거, 조건부 노출, 민감 정보 제외 전략을 실전 예제 중심으로 소개합니다.REST API를 설계하다 보면 다음과 같은 고민이 자주 발생합니다:값이 null인 필드는 응답에서 빼고 싶다일부 필드는 관리자만 볼 수 있어야 한다한 객체를 다양한 응답 구조로 재사용하고 싶다Jackson은 이런 문제를 해결하기 위한 어노테이션과 설정 옵션을 제공합니다. 이번 글에서는 API 응답을 더 가볍고 안전하게 만들 수 있는 필드 제어 전략을 정리합니다.1. @JsonInclude – null 또는 빈 값 제외가장 기본이 되는 필드 제어 전략..
-
Java JSON 처리 실전 시리즈 6화 – Spring MVC에서 JSON 요청과 응답 처리 흐름: Jackson과 HttpMessageConverter 작동 원리기술과 산업/언어 및 프레임워크 2025. 5. 19. 10:51
Spring MVC에서 JSON 요청을 수신하고 JSON 응답을 반환하는 내부 흐름을 @RequestBody, @ResponseBody, HttpMessageConverter, Jackson 중심으로 구조적으로 정리합니다.Spring Boot 기반 REST API 개발을 하다 보면 다음과 같은 작업이 아주 자연스럽게 이루어집니다:@PostMapping("/user")public UserResponse register(@RequestBody UserRequest request) { return userService.create(request);}이 한 줄에는 다양한 내부 처리 흐름이 숨어 있습니다. 이 글에서는 Spring MVC가 JSON 데이터를 Jackson을 통해 어떻게 처리하는지 구조적으로 ..
-
Java JSON 처리 실전 시리즈 5화 – JSON 필드명 자동 변환: CamelCase ↔ Snake_Case 대응 전략기술과 산업/언어 및 프레임워크 2025. 5. 19. 10:50
Jackson을 이용해 JSON 필드명을 자동으로 camelCase ↔ snake_case로 변환하는 방법을 소개합니다. @JsonProperty, @JsonNaming, application.yml 설정까지 실무 예제 기반으로 정리합니다.백엔드 개발자라면 이런 상황을 한 번쯤 겪어봤을 것입니다.Java 객체는 camelCase로 선언프론트엔드나 외부 API는 snake_case JSON 포맷 요구이때마다 @JsonProperty("user_name")을 필드마다 붙이자니 번거롭고, 유지보수성도 떨어집니다.이 글에서는 Jackson에서 제공하는 자동 네이밍 전략을 통해 코드는 camelCase로 유지하면서, JSON은 snake_case로 제공하는 방법을 설명합니다.1. 문제 예시public class ..
-
Java JSON 처리 실전 시리즈 4화 – JSON을 Java 객체로 역직렬화하기: 날짜, Enum, Optional 대응 전략기술과 산업/언어 및 프레임워크 2025. 5. 17. 14:23
Jackson을 활용해 JSON을 Java 객체로 역직렬화할 때 발생할 수 있는 날짜, Enum, Optional 타입 처리 문제를 실제 예제와 함께 분석하고 해결 방법을 정리합니다. 1. 역직렬화(Deserialization)란? 역직렬화란 JSON 문자열을 Java 객체로 변환하는 과정을 말합니다. Jackson에서는 ObjectMapper.readValue() 메서드로 간단하게 구현할 수 있습니다.String json = "{\"name\":\"홍길동\", \"age\":30}";User user = objectMapper.readValue(json, User.class);하지만 필드 타입이 LocalDateTime, Enum, Optional처럼 단순하지 않을 경우 오류가 발생하기 쉽습니다. 실..
-
Java JSON 처리 실전 시리즈 3화 – 객체를 JSON으로 변환하기: Jackson과 주요 어노테이션 활용법기술과 산업/언어 및 프레임워크 2025. 5. 13. 16:04
Spring Boot에서 Jackson으로 Java 객체를 JSON으로 변환할 때 사용하는 필수 어노테이션 @JsonProperty, @JsonIgnore, @JsonInclude의 실제 사용법과 예제를 소개합니다.Spring Boot 환경에서는 컨트롤러에서 반환하는 객체가 자동으로 JSON으로 변환됩니다. 이 변환 과정은 내부적으로 Jackson의 ObjectMapper가 담당하며, 우리가 원하는 형태로 JSON 구조를 변경할 수 있도록 다양한 어노테이션을 제공합니다.이번 글에서는 가장 실무에서 많이 쓰이는 직렬화 제어 어노테이션에 대해 알아보고, 예제와 함께 활용법을 정리합니다.1. @JsonProperty – JSON 필드명 변경기본적으로 Java의 camelCase 필드는 JSON에서는 동일한 이..
-
Java JSON 처리 실전 시리즈 2화 – Spring Boot에서 Jackson 기본 설정 이해하기기술과 산업/언어 및 프레임워크 2025. 5. 9. 17:35
Spring Boot에서 Jackson은 기본 JSON 파서로 작동합니다. 날짜 포맷, null 필드 처리, 네이밍 전략까지 설정 파일과 Java Config를 활용한 커스터마이징 방법을 소개합니다.Spring Boot 기반 웹 애플리케이션을 만들면 @RestController에서 객체를 반환할 때 자동으로 JSON으로 변환되는 것을 볼 수 있습니다.이 모든 처리는 Jackson의 ObjectMapper와 Spring Boot의 HTTP Message Converter 덕분입니다.이번 글에서는 Spring Boot가 Jackson을 어떻게 통합하고 있는지, 그리고 우리가 어떤 설정을 통해 JSON 출력을 제어할 수 있는지를 다룹니다.1. Jackson과 Spring Boot의 통합 구조Spring Boo..