js 数组转json求助!!

var sendDataList = new Array();

var map1 = new Map();
map1.set("id",1);
map1.set("sex","male");

var map2 = new Map();
map2.set("id",2);
map2.set("sex","female");

sendDataList.push(map1);
sendDataList.push(map2);

请问这种类似List<Map<String,Object>> 这种结构的js对象(就是代码中的sendDataList )要怎么发给后端呢?后端用什么参数接收?我后端用的是SpringBoot,希望各位大佬能解答一下~

网上搜了下,有一种解决方法:

//修改为这样

var sendDataList = new Array();
map1 = {};
map1["id"] = 1;
map1["sex"] = "male";

map2 = {};
map2["id"] = 2;
map2["sex"] = "female";


sendDataList.push(map1);
sendDataList.push(map2);

改成这样就可以用JSON.stringify(sendDataList)获取JSON字符串了。。。

var jsonSendDataList = JSON.stringify(sendDataList);

有没有大佬知道为什么这种方式可以,原题方式就不行?

// 首先定义一个Map转Obj的函数
function mapToObj (map) {
    var obj = {};
    for (let [key, value] of map) {
        obj[key] = value;
    }
    return obj;
}
 
// 创建新数组
const objArr = sendDataList.map(tem=>mapToObj(tem));

然后吧objArr直接传给后端就可以了

后端直接用 @requestbody接受

转成json字符串,String 接收,JSON.parse(string) 可以考虑