首页 > 编程语言 >javascript 把嵌套的 map 转成 object,再转 json 字符串

javascript 把嵌套的 map 转成 object,再转 json 字符串

时间:2023-04-16 12:55:56浏览次数:47  
标签:map stringify javascript convertNestedMapToObject Map object Object JSON

使用 JSON.stringify 转 map 时发现并没有转成想要的 JSON 数据,搜索发现要转成 Object 才能够转成完整的 JSON,

用递归转换:

        const convertNestedMapToObject = (map) => {
            if (map instanceof Map) {
                map.forEach((v, k) => {
                    if (v instanceof Map) {
                        map.set(k, convertNestedMapToObject(v));
                    }
                });
            }
            return Object.fromEntries(map);
        }

//  输出 JSON
        const messageJson = JSON.stringify(convertNestedMapToObject(message));

 

标签:map,stringify,javascript,convertNestedMapToObject,Map,object,Object,JSON
From: https://www.cnblogs.com/64gdrifbottle/p/17323113.html

相关文章

  • javascript常用的循环对比及性能分析
    结论:js中的for循环只有在处理百万条数据以上才会展示出他的强大性能,和看出明显优势,但是在百万条数据往下甚至到个位数的数据量通常都是for和while还有do...while不相上下,反而后两者更加优势明显下面是测试耗时截图(在不同浏览器也会有所不同,我这是Chrome版本111.0.5563.149)......
  • 一篇文章让你面试畅谈HashMap,Hashtable,TreeSet,TreeMap
    HashMapMap与Collection并列存在。用于保存具有映射关系的数据:Key-ValueMap中的key和value可以是任何引用类型,会封装到HashMap$Node对象中Map中的key不允许重复,原因和HashSet一样,前面分析过源码Map中的value可以重复Map的key可以是null,value也可以为null,注意key为null只能有一个,val......
  • JavaScript运算符与表达式
    目录一、===二、||三、??与?.???.四、...五、[]{}[]{}一、===严格相等运算符,用作逻辑判断1==1 //返回true1=='1' //返回true,会先将右侧的字符串转为数字,再做比较1==='1' //返回false,类型不等,直接返回falsetypeof查看某个值的类型typeof1 //返回'number'ty......
  • JavaScript中 处理异步的几种方法
    1.回调函数回调(callback)是一个函数被作为一个参数传递到另一个函数里,在那个函数执行完后再执行。假定有两个函数f1和f2,f2等待f1的执行结果,f1()–>f2();如果f1很耗时,可以改写f1,把f2(箭头函数)写成f1的回调函数:functionf1(callback){setTimeout(()=>{letname='小明'......
  • heatmapts_simple-heatmap的使用
    simpleheat的使用<scriptsetuplang="ts">import{SimpleHeat}from"simpleheat-ts";import*asdatfrom"dat.gui";letframe:number|null=null;constoCanvas=document.createElement("canvas");oCanva......
  • javascript基础练习
     本练习根据w3cschool:https://www.w3cschool.cn/javascript/javascript-conventions.html 1.javascript简介1.1JavaScript是脚本语言JavaScript是一种轻量级的编程语言。JavaScript是可插入HTML页面的编程代码。JavaScript插入HTML页面后,可由......
  • JavaScript 邮箱 验证正则表达式 ,包看懂
    \w就是[0-9a-zA-Z_]\s是[\t\v\n\r\f]\S是[^\t\v\n\r\f]\W是[^0-9a-zA-Z_]\D就是[^0-9]\d就是[0-9].就是[^\n\r\u2028\u2029]。表示几乎任意字符。varreg=/\w{1,30}(\.\w{1,10}){0,2}@\w{1,10}\.\w{1,10}/g\w{1,30}理解为至少有一个字符,最多30个.\w{1,30}理......
  • 前端基础之JavaScript
    目录JS简介JS基础变量与常量基本数据类型数值(number)字符串的常用方法对象的常用方法forEach()splice()map()运算符流程控制函数内置对象JS简介全称JavaScript但是与Java一毛钱关系都没有之所以这么叫是为了蹭Java的热度它是一门前端工程师的编程语言但是它本身有很多逻辑错误(......
  • java8使用stream流将list转map
    java8使用stream流将list转map原文链接:https://blog.csdn.net/weixin_43769566/article/details/123815887stream将list转化为map在Stream流中将List转换为Map,是使用Collectors.toMap方法来进行转换。1.key和value都是对象中的某个属性值。Map<String,String>userMap1......
  • Object 对象划分
    Object对象划分1.PO(persistantobject)持久对象PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。2.DO(DomainObject)领域对象就是从现实世界中抽象出来的有形或无形的业务实体。3.TO(TransferObject),数据传输对象不......