如何使用此json结构创建文件夹结构
{
"europe": {
"poland":{},
"france":{},
"spain":{},
"greece":{},
"UK":{},
"germany":"txt"
},
"Asia": {
"india":"xml"
},
"Africa":null
}
以这样的方式
任何人都知道如何在nodejs中执行此操作?
答案 0 :(得分:3)
您必须递归迭代并创建文件夹和文件。
未经测试,但此类内容应该接近
var fs = require('fs');
var obj = {
"europe": {
"poland": {},
"france": {},
"spain": {},
"greece": {},
"UK": {},
"germany": "txt"
},
"Asia": {
"india": "xml"
},
"Africa": null
};
(function create(folder, o) {
for (var key in o) {
if ( typeof o[key] === 'object' && o[key] !== null) {
fs.mkdir(folder + key, function() {
if (Object.keys(o[key]).length) {
create(folder + key + '/', o[key]);
}
});
} else {
fs.writeFile(folder + key + (o[key] === null ? '' : '.' + o[key]));
}
}
})('/', obj);
答案 1 :(得分:0)
更新
我也在寻找一种基于 JSON 创建文件和文件夹的解决方案,并发现了这个有趣的节点模块“node-jsondir”
以下是其工作原理的示例:
groupBy('room_id')
经过测试,有效。