繁体   English   中英

如何在JavaScript中将数组的JavaScript映射转换为json对象?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM