- 아래와 같이 snake case로 필드가 존재하는 json을 camel case로 역직렬화 하는 방법이 필요했다.
{
"first_name": "Jackie",
"last_name": "Chan"
}
방법1: @JsonProperty
사용#
@JsonProperty
어노테이션을 사용하면, 해당 필드와 매핑되는 json 프로퍼티의 이름을 지정할 수 있다.
public class UserWithPropertyNames {
@JsonProperty("first_name")
private String firstName;
@JsonProperty("last_name")
private String lastName;
// standard getters and setters
}
방법2: @JsonNaming
사용#
@JsonNaming
을 클래스 위에 명시하면 현재 클래스의 역직렬화 이름 전략을 설정할 수 있다.- 아래와 같이 명시하면 클래스의 필드를 json의 snake case로 찾아서 매핑한다.
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class UserWithSnakeStrategy {
private String firstName;
private String lastName;
// standard getters and setters
}
참고 자료#