spring mvc controller json数据

时间:2024-01-13 18:38:20

项目中遇到个批处理,需要前台传递一个json格式对象数组,如下:
var data={
   "wos":[{"id":1,"satisfaction":10,"satisfactionRemark":""},
  {"id":2,"satisfaction":20,"satisfactionRemark":""},
  {"id":3,"satisfaction":30,"satisfactionRemark":""}]
 };
我用的是jQuery.ajax的post将数据扔给controller接收

解法1:

 $.ajax(
{
url:url,
type: "POST",
data: JSON.stringify(x),
success: function(data){ },
dataType: "json",
contentType: "application/json"
} );

@RequestBody 用这个接受你的对象参数

public @ResponseBody String saveDocumentBook(@RequestBody 对象 x, HttpServletRequest request)

我后来是后台先取得要传递的数组参数然后转化的,(T[])JSONArray.toArray(JSONArray.fromObject(wosStr), T.class);T是要转换成的类型
解法2:

前台ajax传参数的时候转好json,后台用 @RquestBody List wos 来接就可以了

$.ajax({
url : url,
type : "POST",
contentType: "application/json; charset=utf-8",
datatype:"json",
data : $.toJSON(data),
success : function(data, stats) {//...}