1、爲何使用 jsonhtml
json 數據格式在接口調用中、html頁面中較經常使用,json數據結構簡單,解析方便。 好比,webservice接口,傳輸json數據。前端
2、springmvc 中進行json交互java
1.請求的是json串、輸出json串,在前端須要將請求的內容轉換成json串,不太方便。
2.請求的是key/value、輸出json串,此方法較經常使用。jquery
3、.配置json轉換器web
注意:若是使用的是註解驅動標籤,則不須要手動配置:ajax
<mvc:annotation-driven conversion-service="conversionService" validator="validator"/>
不然,須要在註解適配器中加入messageConverters。spring
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean> </list> </property> </bean>
4、json交互測試json
jsonTest.jsp數據結構
<html> <head> <title>json交互測試</title> <%-- 導入js外部文件 --%> <script language="JavaScript" src="${pageContext.request.contextPath}/js/jquery-1.4.4.min.js"></script> <%-- 自定義js函數--%> <script language="JavaScript"> function requestJson() { $.ajax({ type: 'post', url: '${pageContext.request.contextPath}/requestJson.action', contentType: 'application/json;charset=utf-8', data: '{"name":"手機","price":999}', success: function (data) { alert(data.name); } }); } function responseJson() { $.ajax({ type: 'post', url: '${pageContext.request.contextPath}/responseJson.action', data: 'name=手機&price=999', success: function (data) { alert(data.name); } }); } </script> </head> <body> <input type="button" onclick="requestJson()" value="請求json,輸出json"/> <input type="button" onclick="responseJson()" value="請求key/value,輸出json"/> </body> </html>
jsonTest.javamvc
@Controller public class JsonTest { //第一個@ResponseBody,將頁面商品信息的json轉成itemsCustom對象 //第二個@ResponseBody,把返回的itemsCustom對象轉成json串輸出。 @RequestMapping("requestJson") public @ResponseBody ItemsCustom requestJson(@RequestBody ItemsCustom itemsCustom) { return itemsCustom; } //輸入是key/value ,輸出是 json數據 @RequestMapping("responseJson") public @ResponseBody ItemsCustom responseJson(ItemsCustom itemsCustom) { return itemsCustom; } }
區別
**測試結果: **
1.使用jquery 的ajax 提交json串,對輸出的json結果進行解析。
json 請求參數:
json 響應參數:
2.使用jquery 的ajax 提交key/value 串,對輸出的json結果進行解析。
key/value 請求參數:
json 響應參數: