.class ファイルに含まれる型情報を json などスクリプトで扱いやすい形式に変換するには?
java の .class ファイルは、 javap
コマンドなどで型情報を取得できます。
スクリプトで処理を行いたいため、 javap で取得できるような情報を、 json や xml など、スクリプトで処理しやすい形に変換したいと考えています。
これを実現する方法はありますでしょうか。
(追記 9/11)
欲しいものは、コマンドラインから起動するツールです。誤解を与えてしまったらすいません。
イメージとしては、次のような java ファイルをコンパイルした .class ファイルがあったときに、
public class HelloWorld {
private String name;
HelloWorld(String name) {
this.name = name;
}
public void hello() {
System.out.println("Hello, " + name);
}
public static void main (String[] args) {
HelloWorld helloWorld = new HelloWorld("Foo");
helloWorld.hello();
}
}
次のような出力をしてくれるツールです。
{
"type": "class",
"name": "HelloWorld",
"visibility": "public",
"fields": [
{
"name": "name",
"type": "java.lang.String",
"visibility": "private",
"static": false
}
],
"methods": [
{
"name": "HelloWorld",
"visibility": "package",
"static": false,
"args": [
"java.lang.String"
]
},
{
"name": "hello",
"visibility": "public",
"static": false,
"args": [],
"ret": "void"
},
{
"name": "main",
"visibility": "public",
"static": true,
"args": [
"java.lang.String[]"
],
"ret": "void"
}
]
}