홍이의 개발 노트

MappingJacksonJsonView 사용시 JSON 결과에서 ModelKey 또는 속성명 제외시키기 본문

개발이야기/스프링(Spring)

MappingJacksonJsonView 사용시 JSON 결과에서 ModelKey 또는 속성명 제외시키기

코바 2011. 6. 29. 09:23

MappingJacksonJsonView 를 사용해 JSON 결과를 보이도록 하다 보면 결과 값에 ModelKey 혹은 속성명이 같이 결과 같에 나오게 된다.


위 의 그림처럼 저런 result( 직접 지정해둔 modelKey명 )라고 값이 붙어서 json 결과 값이 나오게 된다.
이부분을 제외 시키는 방법을 찾아보니

MappingJacksonJsonView 설정 하는 부분에서
    <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" >
     <property name="objectMapper" ref="objectMapper" />
     <property name="modelKey" value="result" />
     <property name="extractValueFromSingleKeyModel" value="true" />
    </bean>

extractValueFromSingleKeyModel 속성 부분을 true 라고 해주면 앞에 modelKey값 또는 속성 나오는 부분을 제외 하고 json 데이터로 나온다.


이렇게 깔끔하게 나오게 된다. 

참고1. modelKey를 정해주는 이유는 model에 다른 값이 들어 있을 경우 그것 까지 json 값으로 바꿔 줄 수 있으니 직접 json 값으로 바꿔줄 부분을 선택 하기 위해 modelKey 속성을 지정하여 하게 된다.

참고2. Model 안에 값이 2개 이상인 상태에서 modelKey를 사용 하지 않고 전체 json으로 변경할 경우에는 이 속성은 먹히지 않는다.

참고3. Spring 3.1이상에서 사용 가능합니다.