Jackson 어노테이션 사용법(3)

Jackson Property Inclusion Annotations

Posted by Yun on 2018-06-13

Jackson Property Inclusion Annotations

  • Jackson Annotation Examples 예제를 적용전, 적용후로 나누어서 정리 해봤습니다.
  • 테스트코드도 참고하시면 좋습니다.
  • 해당 코드 및 전체 Jackson 정리는 Github를 참고해주세요

@JsonIgnoreProperties

  • 무시할 속성이나 속성 목록을 표시하는 데 사용됩니다
1
2
3
4
5
@JsonIgnoreProperties({"id"})
public static class BeanWithIgnore {
public int id;
public String name;
}
1
2
3
{
"name": "yun"
}

@JsonIgnore

  • 필드 레벨에서 무시 될 수있는 속성을 표시하는 데 사용됩니다.
1
2
3
4
5
public static class BeanWithIgnore {
@JsonIgnore
public int id;
public String name;
}
1
2
3
{
"name": "yun"
}

@JsonIgnoreType

  • 주석이 달린 형식의 모든 속성을 무시하도록 지정하는 데 사용됩니다
1
2
3
4
5
6
7
8
9
10
public static class User {
public int id;
public Name name;

@JsonIgnoreType
public static class Name {
public String firstName;
public String lastName;
}
}
1
2
3
{
"id": 1
}

@JsonInclude

  • 어노테이션 속성을 제외 하는 데 사용 됩니다
1
2
3
4
5
6
@JsonInclude(JsonInclude.Include.NON_NULL)
@AllArgsConstructor
public static class MyBean {
public int id;
public String name;
}
1
2
3
4
//NON_NULL 사용시 name이 null인 경우에 제외 됩니다.
{
"id": 1
}

@JsonAutoDetect

1
2
3
4
5
@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY)
public static class PrivateBean {
private int id;
private String name;
}
1
2
3
4
5
// Visibility.ANY 경우 표시
{
"id": 1,
"name": "yun"
}