2017-05-09 40 views
0

是否有某种方法可将.java文件解析为JSON格式?如何将.java文件解析为JSON格式

假设我们有一个包含不同类函数,如类:

public static int getMax(int[] inputArray){ 
    int maxValue = inputArray[0]; 
    for(int i=1;i < inputArray.length;i++){ 
     if(inputArray[i] > maxValue){ 
     maxValue = inputArray[i]; 
     } 
    } 
    return maxValue; 
    } 

我想解析它,所以我可以在这个温控功能的JSON文件存储信息,如名称,类型,输入等。

这怎么可能?有没有可能可以做到的程序或框架?

例如,这是我希望我的JSON包含的内容:

{ 
    "function": [ 

     { 
     "name":"getMax", 
     "language": "Java", 
     "type": "public static int", 
     "other_info": "whatever" 
     }, 

     { 
     "name":"getMin", 
     "language": "Java", 
     "type": "public static int", 
     "other_info": "whatever" 
     } 

    ] 
} 

任何信息非常感谢!

+0

是的,这是可能的。 AFAIK没有人做到了。这是个好主意吗?不,IMO。您最好使用普通Java解析器,构建内存分析树并直接使用它或从选定信息填充数据库。 –

+0

@StephenC对我来说听起来很好,是否有一些好的Java解析器可以使用? –

+0

看看http://stackoverflow.com/questions/31073624/how-to-convert-json-objects-to-pojo-from-gson –

回答

0

你可以使用GSON(JSON由谷歌< =>的Java API),以类转换成以JSON:

String json =gson.toJson(classToJson); 
classname jsonToClass = gson.fromJson(jsonString, classname.class); 

但是,为什么你想用的方法来做到这一点?我很好奇。

+0

它适用于某些代码分析工具 –

+0

本示例代码将类的*实例*转换为JSON或从JSON转换而来。问题是关于将Java *源代码*转换为JSON。 (或者更确切地说,从Java源代码中解析和提取细节,并将它们发布为JSON。) –