我正在寻找一种工具或方法来分析标准 JavaBeans 源代码(使用 getter 和 setter)并生成某种 json 描述符..
也许用 grunt
或 ant
或其他什么。
示例:
FilterBean.java:
package com.abc.beans;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
public class FilterBean implements Serializable {
private static final long serialVersionUID = 7490361447912259765L;
private Map<String, List<LabelValueBean>> filterMapList;
private String name;
public Map<String, List<LabelValueBean>> getFilterMapList() {
return this.filterMapList;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
LabelValueBean.java:
package com.abc.beans;
import java.io.Serializable;
import java.util.List;
public class LabelValueBean implements Serializable {
private static final long serialVersionUID = 1237198378921379812L;
private String label;
private Integer id;
private List<String> values;
public String getLabel() {
return this.label;
}
public void setLabel(String label) {
this.label = label;
}
public Integer getId() {
return this.idlabel;
}
public List<String> getValues() {
return this.values;
}
public void setValues(List<String> values) {
this.values = values;
}
}
输出类似:
com.abc.beans.FilterBean.json:
{
"name" : {
"type" : "String",
"setter" : true
},
"filterMapList" : {
"type" : "Map",
"innerType" : "com.abc.beans.LabelValueBean",
"setter" : false
}
}
com.abc.beans.LabelValueBean.json:
{
"label" : {
"type" : "String",
"setter" : true
},
"values" : {
"type" : "Array",
"innerType" : "String",
"setter" : true
},
"id" : {
"type" : "Integer",
"setter" : false
}
}
有什么想法吗?
最佳答案
有很多工具可以将对象图转换为 JSON。 Jackson和 GSON常用的有两种。
但这些东西仅代表数据,可能无法让您了解结构的全貌。如果您想在 Java 环境之外传达结构,您可能想要做的是生成一个 "JSON Schema"。 .还有一个question其中讨论了如何使用 Jackson 模块来做到这一点。
关于java - 将 JavaBeans 源解析为 json 描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24159023/