0

是否有标准或现有的方法可以根据其内容从未编译的 java 类生成“某物”?所以基本上是这样的:

@MakeJsonDocumentation
public class ExistingClass{
    private name = "";

    public ExistingClass(String name){
        this.name = name;
    }

    @JsonField
    public String getName(){
        return this.name;
    }

    @JsonField
    public void setName(String name){
        this.name = name;
    }

    @JsonMethod
    public void someMethod(String text){
        System.out.println("someMethod " + text)
    }

    @JsonMethod
    public void otherMethod(){
        System.out.println("otherMethod")
    }
}

变成这样的东西

{
  "ExistingClass": {
    "Fields": {
      "Name": "String"
    },
    "Methods": {
      "someMethod": {
        "Parameters": {
          "Type": "String",
          "Name": "text"
        },
        "Returns": "Nothing"
      },
      "otherMethod": {
        "Parameters": "Nothing",
        "Returns": {
          "Type": "String"
        }
      }
    }
  }
}

如果没有,是否可以使用编译时注释来执行此操作,因为我想自动化生成而不是编写解析器,并且每次我更改某个类的某些内容时,都会通过解析器将其抛出以获取最新的数据表。

我在这里有点不知所措,我只知道我想要什么但不知道如何完成它,所以至少一些搜索关键字进入正确的方向是非常受欢迎的:p

4

2 回答 2

1

要实现您在上面发布的 Json,您可以通过:

  • 使用反射提取所有字段名称和方法
  • 使用 JSONObject(json 解析器/构建器)

来自未编译的 java 类

但是,反射适用于实例(或所有字段/方法必须是静态的)

于 2013-10-19T11:36:48.853 回答
0

这个怎么样?
https://jersey.java.net/documentation/1.17/json.html

这是一篇可能也有帮助的旧帖子:Json - Java Object to Json

干杯.t。

于 2013-10-19T11:39:48.327 回答