Javascript 在java中读取目录结构并将其转换为JSON对象
我需要读取文件系统中的目录结构,并将其转换为java中的Json对象,以便在javascript中进一步处理。最合适的方法是什么?我最近提出了一个解决方案,希望与大家分享。 假设我们知道层次结构的级别,下面是将给定文件结构转换为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()
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-ɐɥʇɐɯ中,它将被解除绑定并形成树状结构