Programming/JAVA
@JsonProperty: JSON 데이터와 Java 객체 매핑
dev?
2024. 2. 22. 09:35
반응형
JSON(JavaScript Object Notation)은 웹 개발에서 데이터를 교환하는 표준 포맷 중 하나입니다. Java에서 JSON 데이터를 처리할 때, @JsonProperty 어노테이션은 Jackson 라이브러리를 사용하는 개발자들에게 필수적인 도구입니다.
@JsonProperty란?
@JsonProperty는 Jackson 라이브러리의 어노테이션 중 하나로, Java 객체의 필드와 JSON 객체의 속성 간의 매핑을 정의한다. 이 어노테이션을 사용함으로써 JSON 속성명과 Java 필드명이 다를 경우에도 서로를 연결할 수 있습니다.
기능과 장점
- 명시적 매핑: JSON 속성명과 Java 필드명이 다른 경우, @JsonProperty를 사용하여 명시적으로 매핑할 수 있습니다.
- 직렬화/역직렬화 제어: 객체를 JSON으로 변환하거나(JSON 직렬화), JSON을 객체로 변환하는 과정(JSON 역직렬화)에서 특정 필드의 이름을 제어할 수 있습니다.
- 가독성 향상: 코드에서 JSON 속성명과 Java 필드명 간의 관계를 명확하게 표현함으로써, 다른 개발자가 코드를 이해하기 쉬워집니다.
사용 방법
@JsonProperty 어노테이션은 필드 레벨이나 게터/세터 메서드에 적용할 수 있습니다.
import com.fasterxml.jackson.annotation.JsonProperty;
public class User {
@JsonProperty("id")
private String userId;
@JsonProperty("name")
private String userName;
// Constructor, Getters, and Setters
}
출처 : ChatGPT
반응형