在JAX-RS中映射复杂JSON的简单方法?

时间:2015-08-17 14:39:36

标签: json jax-rs

我需要获得JSON结构:

{
  "check_time": 1439817437,
  "checks": {
    "memory": {
      "text": "memory usage OK",
      "status": "OK",
      "memory_used": {
        "current_value": "908644912",
        "type": "gauge",
        "uom": "bytes",
        "crit": "1958923469",
        "warn": "1649619763",
        "status": "OK"
      }
    }
  },
  "summery": "my summery",
  "version": {
    "text": "$Revision: 13017 $",
    "svn_path": "$URL: foo $"
  }
}

要在JAX-RS中解决这个问题,你需要很多课程。

@XmlRootElement
public class MonitorRSModel {

    private String summery;
    private Long check_time;
    private MonitorRSVersion version;
    private MonitorRSChecks checks;

    ...
}

@XmlAccessorType(XmlAccessType.FIELD)
public class MonitorRSVersion {

    private String text;
    private String svn_path;

    ...
}

@XmlAccessorType(XmlAccessType.FIELD)
public class MonitorRSChecks {

    private MonitorRSMemory memory;

    ...
}

@XmlAccessorType(XmlAccessType.FIELD)
public class MonitorRSMemory {
    private String text;
    private String status;

    private MonitorRSMemoryUsed memory_used;

    ...
}

@XmlAccessorType(XmlAccessType.FIELD)
public class MonitorRSMemoryUsed {

    private String current_value;
    private String type = "gauge";
    private String uom = "bytes";
    private String crit;
    private String warn;
    private String status;

    ...
}

我的结构有点复杂。如果复杂性增加,你会获得一大堆课程。如何减少我的工作以在JAX-RS中生成它?

1 个答案:

答案 0 :(得分:1)

我读到了它,您可能想尝试:http://www.jsonschema2pojo.org/

jsonschema2pojo是一个获取json文档并生成.java源文件的工具,可以减少你的工作。

注意:我没有使用它,所以不能说这对各种json格式有多好。