문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
java:jackson [2020/07/22 17:53] kwon37xi |
java:jackson [2021/09/11 14:34] kwon37xi [Java 16 Record] |
||
---|---|---|---|
줄 1: | 줄 1: | ||
====== Java Jackson JSON Library ====== | ====== Java Jackson JSON Library ====== | ||
* [[java: | * [[java: | ||
+ | * [[java: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
줄 19: | 줄 20: | ||
* Spring 4.1 부터 '' | * Spring 4.1 부터 '' | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
===== @JsonCreator ===== | ===== @JsonCreator ===== | ||
* 해당 클래스 JSON 문자열을 받아서 객체를 생성할 때 변환기를 직접 만들고자 할 때 구현한다. | * 해당 클래스 JSON 문자열을 받아서 객체를 생성할 때 변환기를 직접 만들고자 할 때 구현한다. | ||
줄 87: | 줄 88: | ||
===== setDateFormat 주의 ===== | ===== setDateFormat 주의 ===== | ||
- | | + | * **'' |
- | | + | |
===== Hibernate ===== | ===== Hibernate ===== | ||
줄 132: | 줄 132: | ||
+ | ===== @JsonInclude ===== | ||
+ | * [[https:// | ||
+ | * '' | ||
+ | * [[https:// | ||
===== JsonNodeFactory ===== | ===== JsonNodeFactory ===== | ||
* [[https:// | * [[https:// | ||
줄 170: | 줄 174: | ||
| | ||
- | // with 3.0 (or with 2.10 as alternative) | ||
- | ObjectMapper mapper = JsonMapper.builder() // or different mapper for other format | ||
- | | ||
- | | ||
- | | ||
- | // 시간을 timestamp 숫자가 아닌, 문자열로 포맷팅한다. 기본 ISO 포맷 | ||
- | | ||
- | | ||
</ | </ | ||
* '' | * '' | ||
줄 183: | 줄 179: | ||
===== Jackson 2.10 부터 ObjectMapper 생성 방식 변경됨 ===== | ===== Jackson 2.10 부터 ObjectMapper 생성 방식 변경됨 ===== | ||
<code java> | <code java> | ||
- | // Jackson 2.10 형식 | ||
- | // Jackson 2.10 형식 | ||
JsonMapper objectMapper = JsonMapper.builder() | JsonMapper objectMapper = JsonMapper.builder() | ||
.addModules(new ParameterNamesModule(), | .addModules(new ParameterNamesModule(), | ||
줄 193: | 줄 187: | ||
// 시간 관련 객체(LocalDateTime, | // 시간 관련 객체(LocalDateTime, | ||
.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, | .configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, | ||
- | | + | |
.enable(JsonWriteFeature.WRITE_NUMBERS_AS_STRINGS) | .enable(JsonWriteFeature.WRITE_NUMBERS_AS_STRINGS) | ||
.defaultTimeZone(TimeZone.getDefault()) | .defaultTimeZone(TimeZone.getDefault()) | ||
줄 200: | 줄 194: | ||
</ | </ | ||
+ | ===== Java 16 Record ===== | ||
+ | * [[https:// | ||
+ | * Jackson >= 2.12.0 부터 [[java: | ||
===== 참고 ===== | ===== 참고 ===== | ||
* [[http:// | * [[http:// | ||
줄 216: | 줄 213: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// |