java - 将 JavaBeans 源解析为 json 描述符

标签 java javascript json javabeans

我正在寻找一种工具或方法来分析标准 JavaBeans 源代码(使用 getter 和 setter)并生成某种 json 描述符..
也许用 gruntant 或其他什么。
示例:

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。 JacksonGSON常用的有两种。

但这些东西仅代表数据,可能无法让您了解结构的全貌。如果您想在 Java 环境之外传达结构,您可能想要做的是生成一个 "JSON Schema"。 .还有一个question其中讨论了如何使用 Jackson 模块来做到这一点。

关于java - 将 JavaBeans 源解析为 json 描述符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24159023/

相关文章:

javascript - 迭代 JSON 对象

JavaScript 变量似乎被视为函数

javascript - Angularjs 根据 id 过滤嵌套 JSON 数据

android - 我如何在 SQlite/PDO 中连接表、同时聚合并将结果转换为 JSON?

java - 为什么 URL 无法在 intellij 的 jsp View 中解析为 struts 2 约定

java - 使用通用 Map 参数重写方法

java - Spring Cloud - 输入与输出

java - JNLP、ProcessBuilder 和文件层次结构

Javascript循环没有停止..我的结果在一秒钟后就消失了

Javascript- 从 JSON 对象中检索特定的键值