这是我在项目中写的一个Map对象:

let map = new Map();

for (let i = 0; i < type_checked_value.length; i++) {
let type_id = type_checked_value[i]
map.set('type_' + type_id + '_quantity', $("#type_" + type_id + "_quantity").val());
map.set('type_' + type_id + '_score', $("#type_" + type_id + "_score").val());
}

我天真的觉得JS自带的JSON对象就可以像Java的那些JSON转换组件一样调用即可实现转换【大雾】

let jsonMap = JSON.stringify(map);

用这个方法给后端之后就是一个空括号了,在java这里接受就是这个结果:

{}

然后找到了这个办法,可以实现JS的Map对象转换JSON

// JS map对象转换Json方法 https://blog.csdn.net/Jac__Xu/java/article/details/80969219
function mapToJson(m) {
var str = '{';
var i = 1;
m.forEach(function (item, key, mapObj) {
if(mapObj.size == i){
str += '"'+ key+'":"'+ item + '"';
}else{
str += '"'+ key+'":"'+ item + '",';
}
i++;
});
str +='}';
//console.log(str);
return str;
}

传到了后台之后就是这个效果了:

{"type_2_quantity":"2","type_3_score":"5","type_1_score":"4","type_1_quantity":"2","type_3_quantity":"3","type_2_score":"5"}

在Java这里就使用了FastJson来处理转换的:

    @Test
public void parseJavaScriptMapObject(){
String json = "{\"type_2_quantity\":\"2\",\"type_3_score\":\"5\",\"type_1_score\":\"4\",\"type_1_quantity\":\"2\",\"type_3_quantity\":\"3\",\"type_2_score\":\"5\"}";
// JSON.parseObject(json);
Map map = JSON.parseObject(json); System.out.println(map); Object type_2_quantity = map.get("type_2_quantity");
System.out.println(type_2_quantity);
}

测试的结果是能取到值的

{"type_2_quantity":"2","type_3_score":"5","type_1_score":"4","type_1_quantity":"2","type_3_quantity":"3","type_2_score":"5"}
2 Process finished with exit code 0

大概就这样了,没有别的补充

【Project】JS的Map对象前后交互问题的更多相关文章

  1. 在js中将map对象转换成json 和 js对cookie的操作

    在js中将map对象转换成json //msp转objectlet obj= Object.create(null); for (let[k,v] of map) { obj[k] = v; }//o ...

  2. js模拟Map对象,实现key---value

    js模拟Map对象,实现key---value 根据java中map的属性,实现key----value保存 function Map() { var struct = function (key, ...

  3. Js中Map对象的使用

    Js中Map对象的使用 1.定义 键/值对的集合. 2.语法 mapObj = new Map() 3.备注 集合中的键和值可以是任何类型.如果使用现有密钥向集合添加值,则新值会替换旧值. 4.属性 ...

  4. js 操作map对象

    转自:http://smallvq123.javaeye.com/blog/823923 /* * Map对象,实现Map功能 * * * size() 获取Map元素个数 * isEmpty() 判 ...

  5. JS中的Map对象

    1,js创建map对象 var map = new Map(); 2.将键值对放入map对象 map.set("key",value) map.set("key1&quo ...

  6. JavaScript Map对象的实现

    1. [代码]js代码     /* * MAP对象,实现MAP功能 * * 接口: * size()     获取MAP元素个数 * isEmpty()    判断MAP是否为空 * clear() ...

  7. JS中集合对象(Array、Map、Set)及类数组对象的使用与对比

    原文地址 在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,但在强类型语言譬如Java中泛型强制要求指定类型. ES6引入了iterable类型, ...

  8. 转:el表达式获取map对象的内容 & js中使用el表达式 & js 中使用jstl 实现 session.removeattribute

    原文链接: ①EL表达式取Map,List值的总结 ②在jsp中使用el表达式通过键获得后台的一个map<Long,String>的值 ③在javascript中使用el表达式(有图有真相 ...

  9. js es6 map 与 原生对象区别

    区别 object和Map存储的都是键值对组合.但是: object的键的类型是 字符串: map的键的类型是 可以是任意类型: 另外注意,object获取键值使用Object.keys(返回数组): ...

  10. JS Map对象

    java和C#等高级语言中都有map这样的键值对,但是js里没有,我们需要这样的,该怎么做呢? 可以自己使用function封装一个map对象,如下所示 function Map() { this.k ...

随机推荐

  1. 剑指Offer-52.正则表达式匹配(C++/Java)

    题目: 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次). 在本题中,匹配是指字符串的所有字符匹配整个模式. ...

  2. INFINI Labs 产品更新 | 统一版本号 1.22.0

    INFINI Labs 产品又更新啦~,包括 Console,Gateway,Loadgen,Agent 1.22.0.为了避免版本不同带来的困扰,以后发布均统一版本号,此次版本重点修复历史遗留 Bu ...

  3. mysql报错 a foreign key constraint fails(外键约束错误)

    报错信息如下: (pymysql.err.IntegrityError) (1452, u'Cannot add or update a child row: a foreign key constr ...

  4. SpringBoot 过滤器更改 Request body ,并实现数据解密

    客户端.服务端网络通信,为了安全,会对报文数据进行加解密操作. 在SpringBoot项目中,最好使用参考AOP思想,加解密与Controller业务逻辑解耦,互不影响. 以解密为例:需要在reque ...

  5. Pytorch复制现有环境

    一,在本机上,打开anaconda Prompt直接使用 conda create -n 新环境名 --clone 旧环境名

  6. Linux greybus

    背景 在研究高通平台驱动震动马达时,我需要为内核驱动实现以下功能:/sys/class/timed_output/vibrator/enable":sysfs文件系统注册接口.提供show. ...

  7. 莫名其妙的bug——Segmentation fault

    vscode出现Segmentation fault异常,但是没有问题报错(如上) 先说原因:cout << dp[m]; m没有输入,一个空定义(空指针) 难受啊,有一次cf因为这个bu ...

  8. 『vulnhub系列』BEELZEBUB- 1

    『vulnhub系列』BEELZEBUB- 1 下载地址: https://www.vulnhub.com/entry/beelzebub-1,742/ 信息搜集: 使用nmap扫描存活主机,发现主机 ...

  9. C#/.NET/.NET Core编程技巧练习集(学习,实践干货)

    DotNet Exercises介绍 DotNetGuide专栏C#/.NET/.NET Core编程常用语法.算法.技巧.中间件.类库练习集,配套详细的文章教程讲解,助你快速掌握C#/.NET/.N ...

  10. HiAI Foundation开发平台,加速端侧AI应用的智能革命

    如果您是一名开发者,正在寻找一种高效.灵活且易于使用的端侧AI开发框架,那么HarmonyOS SDKHiAI Foundation服务(HiAI Foundation Kit)就是您的理想选择. 作 ...