复杂JSON提交SpringMVC参数接收

简单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字符串。