2017-05-09 60 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。) –