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、 转换步骤

分为四个步骤

  1. Map 转 JSON 字符串
  2. JSON 字符串转 JSONObject
  3. JSONObject.get() 方法获取参数值并转为 JSONArray
  4. 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
    }
]
posted @   MyDistance  阅读(1234)  评论(0编辑  收藏  举报
编辑推荐:
· 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框架的用法!
点击右上角即可分享
微信分享提示

目录导航

Map 某 value 为 对象数组,转为 ArrayList 对象集合
1、问题场景
2、 转换步骤