前端传值(对象内包含数组),后端接收问题

背景:原有的参数采集需要新增采集数组[{对象A},{对象A}]类型的参数,后端直接用List<实体类A>进行接收报错:Failed to instantiate [java.util.List]: Specified class is an interface

尝试方法1重新封装模型类型B(构造参数List<实体类A>)来接收,获取数据为null。 (前端传值的格式为:{“id”,“123”;“userList”,"[{user},{user},{user}]"})

尝试方法2:*先将数组对象序列化为字符串,再放进对象。后台使用String类型来接收 *
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果前端使用Vue传递了一个字符串数组后端可以通过以下方式进行接收: 1. 获取请求体中的参数,并将其转换为数组 ```javascript // Node.js Express 代码示例 const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); app.post('/api/data', (req, res) => { const data = req.body.data.split(','); // 将逗号分隔的字符串转换为数组 console.log(data); // do something with data }); app.listen(3000, () => { console.log('Server is running at http://localhost:3000'); }); ``` 在以上代码中,我们首先通过body-parser中间件解析请求体中的JSON数据,并获取到参数`data`的值,该值是一个逗号分隔的字符串。接着,我们使用`split`方法将该字符串转换为数组。 2. 直接将字符串数组作为请求体参数 ```javascript // Node.js Express 代码示例 const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); app.post('/api/data', (req, res) => { const data = req.body; // 直接获取请求体中的参数 console.log(data); // do something with data }); app.listen(3000, () => { console.log('Server is running at http://localhost:3000'); }); ``` 在以上代码中,我们直接将请求体中的参数作为一个对象进行获取,该对象包含一个名为`data`的属性,该属性的值是一个字符串数组后端可以直接使用该数组进行后续操作。 需要注意的是,如果前端传递的是一个JSON字符串,后端需要先将其解析为一个JavaScript对象数组,才能够进行操作。可以使用`JSON.parse`方法将其转换为对应的JavaScript对象数组

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值