Map 某 value 为 对象数组,转为 ArrayList 对象集合
Map 某 value 为 对象数组,转为 ArrayList 对象集合
使用 Map 接收前端数据,一些 value 参数为对象数组,调用 map.get() 方法获取数值会报错,因此需要将 map 转成别的类型。
1、问题场景
使用 Map 接收数据,可以看出 key 为 "addressList" 的 value 是一个对象数组,怎么获取 value 值呢?
复制{
"name":"Lin",
"addressList": [
{
"address":"海珠区",
"userId": "1"
},
{
"address":"鼎湖区",
"userId": "2"
}
]
}
2、 转换步骤
分为四个步骤:
- Map 转 JSON 字符串
- JSON 字符串转 JSONObject
- JSONObject.get() 方法获取参数值并转为 JSONArray
- JSONArray 转 ArrayList 对象集合
具体代码如下:
public List<Address> test(@RequestBody Map<String, Object> map) {
//转JSON字符串
String json = JSONObject.toJSONString(map);
//转JSONObject
JSONObject jsonObject = JSONObject.parseObject(json);
//转JSONArray
JSONArray jsonArray =JSONArray.parseArray(jsonObject.getString("addressList"));
//转ArrayList对象集合
List<Address> addressList = jsonArray.toJavaList(Address.class);
return addressList;
}
返回结果如下:
[
{
"id": null,
"city": null,
"address": "海珠区",
"userId": 1
},
{
"id": null,
"city": null,
"address": "鼎湖区",
"userId": 2
}
]
自我控制是最强者的本能-萧伯纳
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!