用JSON模拟文件系统

时间:2014-08-18 16:05:07

标签: javascript json

我正在尝试用JSON模仿文件系统。目的只是检测“文件”是否存在。我在考虑这样的结构:

var fs = {
  someName: {
    type: 'directory',
    contents: {
      someNameChild: {
        type: 'directory',
        contents: {
          someChild: {
            type: 'file',
            contents: 'hello world!'
          }
        }
      }
    }
 }
}

看到这个后,我开始想知道是否有人知道在JSON中模拟内存中的文件系统。我不想写所有的createDirectory,createFile,removeDirectory,removeFile等文件操作符。我不需要它在文件存储方面是健壮的。我对目录结构操作更感兴趣。

是否有人知道可以执行此操作的一些代码?我认为有人已经解决了这个问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

字典已经拥有了您所需要的一切,不应该需要显式的type字段,至少在范围是文件夹和文件的情况下不是这样。

{
   folderA : {
       folderNested : {
           someFile : "foo content"
       },

       folderNestedB : {

       },
   }
}

您必须实现目录操作,但它们非常简单。例如,要导航到文件系统中的路径,您可以简单地

var pieces = path.split('/');

var node = root; 
for (var i = 0; i < pieces.length; ++i) {
    node = node[pieces[i]];
    if (!node) {
       // error, not found
    }
    break;
}

// |node| is the file/folder