Javascript 如何获取目录树的JSON文件中的文档路径?

Javascript 如何获取目录树的JSON文件中的文档路径?,javascript,arrays,json,Javascript,Arrays,Json,我的问题是JSON文件中的搜索/路径查找很容易 该项目是一个web应用程序。有人可以在搜索字段中输入“documentnumber”(类似于48555 001 00-8.pdf),当此人点击“输入”时,将显示指向此文档的链接 我对文档路径的搜索太慢、复杂、糟糕。真糟糕。 我的想法是将所有目录作为一个数组,然后在此搜索“customer 555”等等,直到找到正确的文档。但问题是:它真的很慢而且。。。如果还有一个目录/文件夹,我该怎么办呢。还有,如果文档如我所期望的那样位于另一个文件夹中,因为。。

我的问题是JSON文件中的搜索/路径查找很容易

该项目是一个web应用程序。有人可以在搜索字段中输入“documentnumber”(类似于48555 001 00-8.pdf),当此人点击“输入”时,将显示指向此文档的链接

我对文档路径的搜索太慢、复杂、糟糕。真糟糕。 我的想法是将所有目录作为一个数组,然后在此搜索“customer 555”等等,直到找到正确的文档。但问题是:它真的很慢而且。。。如果还有一个目录/文件夹,我该怎么办呢。还有,如果文档如我所期望的那样位于另一个文件夹中,因为。。是 啊人类。所以,我想这不是最好的主意

JSON文件如下所示:

[
      {"type":"directory","name":"documents/","contents":[
        {"type":"directory","name":"customer 555","contents":[
          {"type":"directory","name":"product 1","contents":[
            {"type":"directory","name":"product 1.2","contents":[
              {"type":"directory","name":"changes","contents":[
                {"type":"file","name":"changes.zip"}
              ]},
              {"type":"directory","name":"document 8","contents":[
                {"type":"file","name":"48555 001 00-8.pdf"},
              ]},
    ....
localhost/documents/customer 555/product 1/product 1.2/document 8/48555 001 00-8.pdf
最后,我希望有一条这样的路径:

[
      {"type":"directory","name":"documents/","contents":[
        {"type":"directory","name":"customer 555","contents":[
          {"type":"directory","name":"product 1","contents":[
            {"type":"directory","name":"product 1.2","contents":[
              {"type":"directory","name":"changes","contents":[
                {"type":"file","name":"changes.zip"}
              ]},
              {"type":"directory","name":"document 8","contents":[
                {"type":"file","name":"48555 001 00-8.pdf"},
              ]},
    ....
localhost/documents/customer 555/product 1/product 1.2/document 8/48555 001 00-8.pdf
这是Apache服务器上该文件的路径

有没有直接获取路径的解决方案?比方说,我正在搜索“48555001 00-8.pdf”,然后进入(目录)顶部目录“documents/”?或者是否有一个库或方法可以给我树中的位置


我使用的是JavaScript。

最简单的说法是,您需要有一种方法来搜索文件名并同时访问它们的路径

因此,您可以通过从发布的输出中提取以下内容(通过JSON继承人权限递归)自己完成:

或者使用服务器端技术搜索文件,即在节点中可以使用包:


别忘了清理用户输入以转义regexp特殊字符

您可以先展平数组,然后搜索匹配项您可以控制此JSON格式吗?因为。。。该死,我把“tree-J path/to/folder/>file.json”放进终端里就得到了。。如果还有别的办法。。请告诉我:数据查找包完全满足我的要求,无需json文件。非常感谢。