Java 웹 프로젝트에서 Spring 프레임워크에서 JSON 형식의 데이터를 처리하는 방법
우선 제이슨의 형식을 봅시다.
{key1:value1,key2:value2}
각 생성은 하나의 값에 대응하고, 각 키 값 쌍은 쉼표로 연결됩니다.그리고 마지막 키 값은 다음에 쉼표가 없고 전체적으로 괄호가 있어야 한다.일반적으로 정상적인 servlet이 json으로 돌아올 때 다음과 같이 됩니다.
response.setContentType("text/JSON;charset=utf-8");
response.getWriter().print(gson.toJson(page));
response.getWriter().flush();
response.getWriter().close();
return null;
이렇게 하면 상대적으로 비교적 번거롭고, 포장하기도 어렵다.새 spring에서 json을 되돌릴 때 @ResponseBody를 통해 바로 되돌릴 수 있다는 점은 매우 잘한다. 대략 코드는 다음과 같다.
@Controller
@RequestMapping("/json")
public class JsonController {
@RequestMapping(value="{provinceId}",method = RequestMethod.GET)
@ResponseBody
public String pagination(@PathVariable String provinceId){
return getJsonData(provinceId);
}
}
액세스 방식은 다음과 같습니다.http://localhost:8080/spring3/action/json/1한 가지 주의해야 할 것은spring mvc의 controller에 접근할 때 중간에/action을 추가한 것입니다. Dispatcher Servlet의 맵 경로가/*를 직접 사용하면 상응하는 jsp를 차단할 수 있기 때문에 반드시 접두사를 붙여서 jsp와 controller를 구별해야 합니다.위의 json에 중국어가 있으면 혼란스러워서spring-servlet을 수정합니다.xml 프로필, AnnotationMethodHandlerAdapter의 messageConverters를 수정하면 됩니다. 기본적으로 사용되는 iso8895-1의 인코딩이기 때문에 코드는 다음과 같습니다.
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean class="com.mvc.commons.CommonsBindingInitializer" />
</property>
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
이런 절차를 거친 후에 json에 대한 처리는 상당히 편리하다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.