문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:jackson [2018/08/09 12:16] kwon37xi |
java:jackson [2019/02/07 20:04] kwon37xi |
||
---|---|---|---|
줄 55: | 줄 55: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | |||
===== Pretty Print ===== | ===== Pretty Print ===== | ||
<code java> | <code java> | ||
줄 70: | 줄 71: | ||
* Jackson 2 '' | * Jackson 2 '' | ||
* 성능 저하 요소가 될 수 있으므로 Java 8 이상에서는 가급적이면 '' | * 성능 저하 요소가 될 수 있으므로 Java 8 이상에서는 가급적이면 '' | ||
+ | |||
+ | ===== Hibernate ===== | ||
+ | * [[java: | ||
+ | * Lazy Loading 필드일 경우 그냥 null 처리하고 넘어간다. 그러나 이미 로딩이 돼 있으면 직렬화 한다. | ||
+ | * Lazy Loading 대상 필드의 값을 가져오는 getter가 존재한다면 '' | ||
+ | * [[https:// | ||
+ | * 양방향 관계에 대해 [[https:// | ||
+ | public class User { | ||
+ | public int id; | ||
+ | public String name; | ||
+ | |||
+ | // @JsonBackReference 애노테이션이 붙으면 직렬화를 하지 않는다. | ||
+ | @JsonBackReference | ||
+ | public List< | ||
+ | } | ||
+ | |||
+ | public class Item { | ||
+ | public int id; | ||
+ | public String itemName; | ||
+ | |||
+ | @JsonManagedReference | ||
+ | public User owner; | ||
+ | } | ||
+ | </ | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | * '' | ||
+ | |||
+ | ===== @JsonRawValue ===== | ||
+ | * [[https:// | ||
+ | * String 필드게 JSON 문자열이 저장돼 있을 경우 이를 JSON 으로 간주하고 리턴 | ||
+ | * 직렬화에서는 작동하지만 역직렬화에서는 작동하지 않는다. | ||
+ | * [[https:// | ||
+ | |||
===== 참고 ===== | ===== 참고 ===== | ||
줄 82: | 줄 125: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// |