[英]How to convert a javascript map of array into a json object in javascript?
我有一个javascript MAP对象,它持有键作为字符串,值作为javascript数组,每个数组都在其中保存字符串集。 我想将数组映射转换为javascript中的json对象。
这是我尝试的代码
函数addRole(){
var jsonObjectOfMap={};
subMenuSelectedIdMap.forEach(function(items,key,subMenuSelectedIdMap){
jsonObjectOfMap[key]=JSON.stringify(items);
});
alert(JSON.stringify(jsonObjectOfMap));
我正在得到像这样的json对象{“ 1004”:“ [1005,1006,1023]”,“ 1007”:“ [1008,1053]”}
但是此json格式对象是否有效?如果我希望它具有以下格式,我该怎么办: {“ 1004”:[“ 1005”,“ 1006”,“ 1023”]“,” 1007“:[” 1008 ”, “1053”]}
请帮帮我
如果最里面的值都是数字,并且您希望在最终结果中将它们作为字符串,则必须将每个数字分别转换为字符串。
您可以使用.map()
对每个items
进行另一个循环,并为每个数字调用String()
或.toString()
:
subMenuSelectedIdMap.forEach(function (items, key, subMenuSelectedIdMap){
jsonObjectOfMap[key] = items.map(function (item) {
return String(item); // or `return item.toString();`
});
});
可选地,由于String()
仅应答一个参数(而忽略了.map()
传递的另外两个参数),因此可以将items
循环简化为:
jsonObjectOfMap[key] = items.map(String);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.