Java Web項目中Spring框架處置JSON格局數據的辦法。本站提示廣大學習愛好者:(Java Web項目中Spring框架處置JSON格局數據的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Java Web項目中Spring框架處置JSON格局數據的辦法正文
json是一種罕見的傳遞格局,是一種鍵值對應的格局。而且數據年夜小會比擬小,便利傳遞。所以在開辟中常常會用到json。
起首看一下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,那是由於DispatcherServlet的映照途徑假如直接應用/*的話,會將響應的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的處置就相當便利了。