0

我有一个简单的 POJO,我将其转换为 JSON 对象。

@XmlRootElement
public class Data {
    public Data(){}
    private int roll;
    private String name;
    public int getRoll() {
        return roll;
    }
    public void setRoll(int roll) {
        this.roll = roll;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

这将转换为一个简单的 JSON 对象

{
name: "Adrian",
roll: 77
}

这部分很好。现在我所有的 json 在我的系统中重新调整,将在名为 object lile 的数据中包含该对象

{
app_name:abc,
app_version:1
data:
{
   user :
   {
     name: "Adrian",
     roll: 77
   }

}

无论我向客户发送什么类型的对象,我都希望它们属于这种类型。谁能告诉我如何做到这一点?

亲切的问候。

4

1 回答 1

3

如果要将Data实例包装到某种包装器中,请使用适当的 JAXB 注释编写一个类:

@XmlRootElement
public class DataWrapper {

    private Data data;
    private String app_name;
    private int app_version;

    // Constructors, Getter, Setter
}

然后您的 JAX-RS 方法将创建这样一个DataWrapper并返回它:

@GET
public Response getDataWrapper() {
    DataWrapper dw = new DataWrapper(app_name, app_version, new Data(...));
    return Response.ok(dw).build();
}
于 2012-10-29T08:15:47.820 回答