Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance

Caused by: com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of java.util.ArrayList out of VALUE_STRING token

原因:
页面传参json数组字符串,导致后台spring无法解析,例如:[{“name”: “1”}, {“name”: “2”}]
解决方法:
把json字符串,转换为json对象。

{attributes: attributes}
前端传参改成:
{attributes: JSON.parse(attributes)}

原文链接:https://blog.csdn.net/u010616713/article/details/106995935/

------------------------------------------------------------------------------------

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

二、分析原因

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

三、解决

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值