Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在java中读取目录结构并将其转换为JSON对象_Javascript_Java_Json_Directory Structure - Fatal编程技术网

Javascript 在java中读取目录结构并将其转换为JSON对象

Javascript 在java中读取目录结构并将其转换为JSON对象,javascript,java,json,directory-structure,Javascript,Java,Json,Directory Structure,我需要读取文件系统中的目录结构,并将其转换为java中的Json对象,以便在javascript中进一步处理。最合适的方法是什么?我最近提出了一个解决方案,希望与大家分享。 假设我们知道层次结构的级别,下面是将给定文件结构转换为JSON对象的代码 public static void convert_to_JSON(File node) { File[] subnode = node.listFiles(); JSONArray ja_root = new JSONArray()

我需要读取文件系统中的目录结构,并将其转换为java中的Json对象,以便在javascript中进一步处理。最合适的方法是什么?

我最近提出了一个解决方案,希望与大家分享。 假设我们知道层次结构的级别,下面是将给定文件结构转换为JSON对象的代码

public static void convert_to_JSON(File node) {
    File[] subnode = node.listFiles();
    JSONArray ja_root = new JSONArray(); //the node has 2 different directories
    JSONArray ja_pattern = new JSONArray();
    JSONArray ja_library = new JSONArray();
    JSONArray ja_category = new JSONArray();

    for (File filename : subnode) {
        if ("newfileroot".equals(filename.getName()) || "talendfileroot".equals(filename.getName())) { // String[] libraries; 
            File[] libraries = filename.listFiles();
            for (File lib : libraries) {
                File[] categories = lib.listFiles();


                for (File cat : categories) {
                    if (cat.isDirectory()) {
                        File[] patterns = cat.listFiles();

                        for (File pat : patterns) {


                            if (pat.isDirectory()) {
                                ja_pattern.add(pat.getAbsoluteFile().getName());


                            }

                        }
                        //createjson object here - put cat as key and json array as value
                        JSONObject jo2 = new JSONObject();
                        jo2.put(cat.getAbsoluteFile().getName(), ja_pattern);
                        ja_category.add(jo2);
                         ja_pattern = new JSONArray();
                    }

                }
                JSONObject jo3 = new JSONObject();
                jo3.put(lib.getAbsoluteFile().getName(), ja_category);
                ja_library.add(jo3);
                ja_category = new JSONArray();
            }
            JSONObject jo4 = new JSONObject();
            jo4.put(filename.getAbsoluteFile().getName(), ja_library);
            ja_root.add(jo4);

            ja_library = new JSONArray();
        }

    }
    JSONObject jo5 = new JSONObject();
    jo5.put(node.getAbsoluteFile().getName(), ja_root);

    try (FileWriter file = new FileWriter("d:\\file_structure.json")) {
        file.write(jo5.toJSONString());
        file.flush();
    } catch (IOException e) {
    }
}

}

我最近提出了一个解决方案,希望与大家分享。 假设我们知道层次结构的级别,下面是将给定文件结构转换为JSON对象的代码

public static void convert_to_JSON(File node) {
    File[] subnode = node.listFiles();
    JSONArray ja_root = new JSONArray(); //the node has 2 different directories
    JSONArray ja_pattern = new JSONArray();
    JSONArray ja_library = new JSONArray();
    JSONArray ja_category = new JSONArray();

    for (File filename : subnode) {
        if ("newfileroot".equals(filename.getName()) || "talendfileroot".equals(filename.getName())) { // String[] libraries; 
            File[] libraries = filename.listFiles();
            for (File lib : libraries) {
                File[] categories = lib.listFiles();


                for (File cat : categories) {
                    if (cat.isDirectory()) {
                        File[] patterns = cat.listFiles();

                        for (File pat : patterns) {


                            if (pat.isDirectory()) {
                                ja_pattern.add(pat.getAbsoluteFile().getName());


                            }

                        }
                        //createjson object here - put cat as key and json array as value
                        JSONObject jo2 = new JSONObject();
                        jo2.put(cat.getAbsoluteFile().getName(), ja_pattern);
                        ja_category.add(jo2);
                         ja_pattern = new JSONArray();
                    }

                }
                JSONObject jo3 = new JSONObject();
                jo3.put(lib.getAbsoluteFile().getName(), ja_category);
                ja_library.add(jo3);
                ja_category = new JSONArray();
            }
            JSONObject jo4 = new JSONObject();
            jo4.put(filename.getAbsoluteFile().getName(), ja_library);
            ja_root.add(jo4);

            ja_library = new JSONArray();
        }

    }
    JSONObject jo5 = new JSONObject();
    jo5.put(node.getAbsoluteFile().getName(), ja_root);

    try (FileWriter file = new FileWriter("d:\\file_structure.json")) {
        file.write(jo5.toJSONString());
        file.flush();
    } catch (IOException e) {
    }
}

}

为什么这个问题被标记为
java
?先生,我需要一个java代码,这就是标记的原因。之前没有提到,我的错。现在,对@DavidConradHave进行了必要的更改,看看本教程阅读的目录结构部分已经在注释中得到了回答,转换为json应该是小菜一碟。您提到了javascript的进一步处理,您在这里的意思是什么?我将把json对象传输到我的javascript代码中,在UI@maytham-ɥɥʇʎʎɯ中,它将被解除绑定,并形成一个树状结构,这就是为什么这个问题被标记为
java
?先生,我需要一个java代码,这就是标记的原因。之前没有提到,我的错。现在,对@DavidConradHave进行了必要的更改,看看本教程阅读的目录结构部分已经在注释中得到了回答,转换为json应该是小菜一碟。您提到了javascript中的进一步处理,您在这里的意思是什么?我将把json对象传输到我的javascript代码中,在UI@maytham-ɐɥʇɐɯ中,它将被解除绑定并形成树状结构