springboot报错_Cannot deserialize instance of `java.util.ArrayList` out of START_OBJECT token

一、问题描述:

springboot 框架,前台通过 ajax 像后台 controller 传递参数。

前台代码:

1
2
3
4
5
6
7
8
9
10
11
12
$.ajax({
       type: "POST",//方法类型
       contentType:'application/json',
       dataType: "json",//预期服务器返回的数据类型
       url: "http://localhost:8080/saveRBD",//url
       data: JSON.stringify(list),//list是链表结构
       success: function (data) {
         console.log("成功");
       },
       error: function (result) {
          console.log("失败");
       }<br>});

后台代码:

1
2
3
4
5
6
7
//添加数据
@RequestMapping("/add")
@ResponseBody
public int addList(@RequestBody LinkedList list){
    int result = rbdService.addRBD(list);
    return result;
}

报错:

Can not deserialize instance of java.util.ArrayList out of START_OBJECT token

二、分析原因

客户端返回类型与接收类型不一致。

三、解决

转换成简单的数据类型或者自己封装成对象来传递并且接收。