gpt4 book ai didi

javascript - 根据 json 文件上的定义创建文件夹结构

转载 作者:搜寻专家 更新时间:2023-10-31 23:48:10 24 4
gpt4 key购买 nike

我如何使用此 json 结构创建文件夹结构

{
"europe": {
"poland":{},
"france":{},
"spain":{},
"greece":{},
"UK":{},
"germany":"txt"
},
"Asia": {
"india":"xml"
},
"Africa":null
}

以这样的方式

  1. 具有对象值的属性成为文件夹
  2. 具有字符串值的属性是文件,它们的值表示它们的扩展名
  3. 具有空值的属性是没有扩展名的文件
  4. 嵌套对象成为嵌套文件夹

有人知道如何在 nodejs 中执行此操作吗?

最佳答案

您必须递归迭代并创建文件夹和文件。

没有测试过,但是像这样的东西应该很接近

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);

FIDDLE

关于javascript - 根据 json 文件上的定义创建文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28256945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com