简单json:
{"username":"zhangsan"}
复杂json
{ [{"username":"zhangsan"}, {"username":"lisi"} ] }
简单json提交数据
前端:
var param = {"username":"zhangsan"}; $.ajax({ type : 'POST', url : '${pageContext.request.contextPath}/shop/sku/skumgr/', data: param, success : function(result) { } });
controller:
public String getUserData(User user) { }
复杂jsont提交数据
前端:
var param = {"users":[ {"username":"zhangsan"}, {"username":"lisi"} ] } $.ajax({ type : 'POST', url : '${pageContext.request.contextPath}/shop/sku/skumgr/', contentType : "application/json", data: JSON.stringify(param), success : function(result) { } });
controller:
public class VO { List<User> users; getter(); setter(); } public void updateSku(@RequestBody VO vo) { }
Json数组映射到java的List或者数组
至此:有可能会报错,media not support,那就需要Spring对Content-Type支持
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <property name="supportedMediaTypes"> <list> <value>text/html;charset=UTF-8</value> <value>application/json;charset=UTF-8</value> </list> </property> </bean>
相关资料:
http://www.cnblogs.com/dayou123123/p/3443939.html
- Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些Asp网页点击的结果却是下载到的一个文件或一张图片的原因。
ContentType属性指定响应的 HTTP内容类型。如果未指定 ContentType,默认为TEXT/HTML。
- ajax请求默认是application/x-www-form-urlencoded.Form Data
- get方式,参数是跟在url后边,与Content-Type无关。
- 如果Content-Type : “application/json; charset=utf-8″,Request Paload提交JSON字符串。