마샬링

0

jsp

목록 보기
11/39
post-thumbnail

Jackson 이란?
Java Object를 JSON으로 변환하거나 JSON을 Java Object로 변환하는데 사용할 수 있는 Java 라이브러리이다.

Jackson databind 이용한 마샬링 util

라인1.
req에 저장되어있는 attribute들의 이름을 가져온다.
-> 마샬링할 객체 꺼내기 위해

라인2.
json형태의 패턴 설정

라인3.
json은 키,값의 쌍으로 되어있음 -> map과 비슷

라인22~26
어트리뷰트에 저장되있는 값이 있을때까지 꺼내서 json의 키, 값을 만들고 맵에 저장

라인28
ObjectMapper객체 - 마샬링(write), 언마샬링(read)할 수 있는 메서드를 제공한다.

라인29
맵에 저장한 객체를 write메서드를 통해 마샬링 할 수 있지만 어트리뷰트에 있는 모든 것을 읽어서 맵에 넣었기 때문에 마샬링 하고싶은 객체 말고 다른값들도 들어있음
->원하는 것만 빼서 마샬링해야됨

라인30~33
만약 응답데이터의 contentType이 json으로 셋팅이 안되어있으면 셋팅해준다.

라인35~38
응답데이터를 내보내기 위해 스트림객체 생성. 쓴다는 것은 응답페이지에 뭘 쓴다는게 아니라 응답데이터를 내보낸다는 것 -> 마샬링된 객체 내보낸다.

mapper.writeValue(out, dataMap) - 마샬링과 직렬화를 한번에 해준다.

질문!!!
29라인에서 마샬링되는 대상 뽑아야된다고 했는데 여기에 뽑는 코드 어디???


사용예
주석이랑 util클래스 쓴거랑 똑같은 것

0개의 댓글