在Javascript中将Map转换为JSON对象 [英] Convert Map to JSON object in Javascript
本文介绍了在Javascript中将Map转换为JSON对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我得到了以下 javascript,其中包含一个键/值对来将嵌套路径映射到目录.
So Ive got the following javascript which contains a key/value pair to map a nested path to a directory.
function createPaths(aliases, propName, path) {
aliases.set(propName, path);
}
map = new Map();
createPaths(map, 'paths.aliases.server.entry', 'src/test');
createPaths(map, 'paths.aliases.dist.entry', 'dist/test');
现在我想做的是从地图中的键创建一个 JSON 对象.
Now what I want to do is create a JSON object from the key in the map.
必须的,
paths: {
aliases: {
server: {
entry: 'src/test'
},
dist: {
entry: 'dist/test'
}
}
}
不确定是否有开箱即用的方法来做到这一点.任何帮助表示赞赏.
Not sure if there is an out of a box way to do this. Any help is appreciated.
推荐答案
您可以遍历地图和键并分配值
You could loop over the map and over the keys and assign the value
function createPaths(aliases, propName, path) {
aliases.set(propName, path);
}
var map = new Map(),
object = {};
createPaths(map, 'paths.aliases.server.entry', 'src/test');
createPaths(map, 'paths.aliases.dist.entry', 'dist/test');
map.forEach((value, key) => {
var keys = key.split('.'),
last = keys.pop();
keys.reduce((r, a) => r[a] = r[a] || {}, object)[last] = value;
});
console.log(object);
这篇关于在Javascript中将Map转换为JSON对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文