ES6中JsonStringMapObject之间的转换

Posted 戴眼镜的蚂蚁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6中JsonStringMapObject之间的转换相关的知识,希望对你有一定的参考价值。

/**
     *字符串转json
     *
     */
    static stringToJson(data){
        return JSON.parse(data);
    }
    /**
     *json转字符串
     */
    static jsonToString(data){
        return JSON.stringify(data);
    }
    /**
     *map转换为json
     */
    static mapToJson(map) {
        return JSON.stringify(JsonUtils.strMapToObj(map));
    }
    /**
     *json转换为map
     */
    static jsonToMap(jsonStr){
        return  JsonUtils.objToStrMap(JSON.parse(jsonStr));
    }


    /**
     *map转化为对象(map所有键都是字符串,可以将其转换为对象)
     */
    static strMapToObj(strMap){
        let obj= Object.create(null);
        for (let[k,v] of strMap) {
            obj[k] = v;
        }
        return obj;
    }

    /**
     *对象转换为Map
     */
    static   objToStrMap(obj){
        let strMap = new Map();
        for (let k of Object.keys(obj)) {
            strMap.set(k,obj[k]);
        }
        return strMap;
    }

 

以上是关于ES6中JsonStringMapObject之间的转换的主要内容,如果未能解决你的问题,请参考以下文章

ES6 命名导出和默认导出之间的可变差异

在组件 ES6 之间反应 setState

关于ES6的let,const与var之间的三生三世

bower init - amd、es6、globals 和 node 之间的区别

使用 ES6 或 TypeScript 获取两个对象数组之间的差异

Javascript ES6 ()=>() 和 ()=> 之间的区别 [重复]