일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Spring boot
- Spring REST API
- 오라클
- 자바스크립트 class
- 자바스크립트
- 디자인 패턴
- spring 설정 파일
- 전자정부프레임워크
- Spring
- 메이븐
- REST API
- pom.xml
- javascript class
- javascript 클래스
- spring boot error
- exceptiontransfer
- 전자정부 샘플
- spring 에러
- 자바스크립트 클래스
- spring boot CRUD
- egov
- 스프링
- spring boot post api
- spring boot rest api
- Oracle
- 스프링부트 post api
- 인텔리제이
- 스프링 에러
- javascript
- Intellij
- Today
- Total
빵구의 개발 메꾸기
Jackson 라이브러리 ObjectMapper 활용 본문
Object를 String 형태의 JSON으로 변환하거나 반대로 String 형태의 JSON을 Object로 변환해서 사용해야 하는 경우가 많은데 Jackson 라이브러리의 ObjectMapper를 활용하는 방법에 대해 알아보자.
<ObjectMapper가 있는 Jackson 라이브러리 추가>
① maven repository 사이트에서 jackson 라이브러리에 대해 gradle 탭에 있는 내용을 build.gradle 파일의
dependencies에 종속성을 추가해주도록 한다.
<Object -> String 형태의 JSON 또는 String 형태의 JSON -> Object 변환>
① ObjectMapper를 활용하기 위해 Object를 만들고 Animal Object도 생성한 뒤 property들을 set해준다.
② Animal의 Object를 String 형태의 JSON으로 변환해준다. (ObjectMapper는 get 메서드를 활용)
③ String 형태의 JSON을 Animal의 Object로 변환해준다. (ObjectMapper는 default 생성자가 필요)
④ 정상적으로 변환이 된 것을 볼 수 있다.
<ObjectMapper 사용 시 주의해야 할 VO의 get메서드 에러 발생>
① ObjectMapper는 get 메서드를 활용하기 때문에 VO에 일반 property들에 대한 getter를 제외한 get이 들어간
커스텀 메서드를 만들게 되면 에러가 발생한다.
② 커스텀 메서드인 defaultAnimal 메서드에 대해 에러가 발생한 것을 보여주고 있다.
<String 형태의 JSON -> Map 변환 또는 Map -> String 형태의 JSON>
① String 형태의 JSON을 Map으로 변환해준다.
② Map을 String 형태의 JSON으로 변환해준다.
③ 정상적으로 변환이 된 것을 볼 수 있다.
<VO에 List 형태의 property가 있는 경우>
① User Object와 Animal Object를 여러개 만들고 property들에 대해 set한 뒤 User Object의 animals property에
넣어준다.
② User Object를 String 형태의 JSON으로 변환해준다.
③ List 형태인 animals property에 대해서도 String 형태의 JSON ARRAY로 정상적으로 변환이 된 것을 볼 수 있다.
<JsonNode, ObjectNode 사용 방법>
① String 형태의 JSON을 tree 형태로 읽고 JsonNode로 변환 후 데이터의 key 값으로 접근해서 value 값을
뽑는다.
② List 형태의 animals를 가져오고 ArrayNode로 casting 한 뒤 List<Animal>로 변환해준다.
③ key에 대한 value 값을 변경하고 싶은 경우 JsonNode를 ObjectNode로 casting 한 뒤 셋팅한다.
ObjectNode의 toPrettyString 메서드를 호출하게 되면 JSON 데이터의 구조를 보기 쉽게 구조화 해준다.
④ 정상적으로 변환이 된 것을 볼 수 있다.
'BACK-END > JAVA' 카테고리의 다른 글
Expected a string but was BEGIN_ARRAY 에러 해결 (0) | 2022.05.26 |
---|---|
HttpURLConnection 활용 (0) | 2022.05.26 |
JAVA 쿠키(Cookie) 등록, 조회, 수정, 삭제 활용 (0) | 2022.05.23 |
slf4j VS log4j VS logback VS log4j2 (0) | 2022.05.02 |
윈도우 JDK 버전 변경하기 (0) | 2022.04.20 |