传json数组

前端代码如下:

function ajaxClick() {
    var arr = []
    var jsont = {"name": "hejinghuan", "age": "23"};
    var jsont2 = {"name": "yongzheng", "age": "33"};
    var jsont3 = {"name": "huangdi", "age": "34"};
    arr.push(jsont);
    arr.push(jsont2);
    arr.push(jsont3);
    $.ajax({  // ajax登陆请求
        url: "ajaxdemo/test",
        type:"POST",
        data:{params:JSON.stringify(arr)},
        async:false,
        success:function(data){
            alert(data);
        }
    });
}

后台代码:
       这里接收的是params,也就是data:{params:JSON.stringify(arr)}这个ajax中传入参数的key,接收到之后用fastjson将字符串转成JSON数组。

@RestController
@RequestMapping("/ajaxdemo")
public class ajaxController {

    @RequestMapping("test")
    public String ajaxparam(@RequestParam String params) {
        JSONArray paradms = JSON.parseArray(params);
        for (int i = 0; i< paradms.size();i++) {
            JSONObject paramjson = (JSONObject) paradms.get(i);
            String name = paramjson.getString("name");
            System.out.println(name);
        }
        System.out.println(params);
        return params;
    }
}
传List集合
前端代码如下:
function setDatDocumentRight(){
  var empIds = [];
  empIds.push("测试1");
  empIds.push("测试2");
  empIds.push("测试3");
  empIds.push("测试4");
  empIds.push("测试5");
  empIds.push("测试6");
  
  $.ajax({
    url: '',
    async: false,
    type: "post",
    data: {
      empIds: empIds
    },
    dataType: "json",
    success:function(data){
        alert(data);
    }
  });
}  

后台代码:

@RequestMapping("/testAjaxList")
@ResponseBody
public void testAjaxList(@RequestParam("empIds[]") List<String> empIds) {
    for (String empId : empIds) {
        System.out.println(empId);
    }
}

更多推荐

ajax传json数组或List集合到后台