json回复的泽西和附加数据,无需修改实体类

时间:2013-09-25 15:51:03

标签: java json jersey

假设我的person课只有2个属性,nameage。我使用jersey的json回复会给我这样的东西。

{
    "name":"john",
    "age":"21"
}

是否可以在不修改实体本身的情况下将其他信息添加到json回复中。假设我想要回复:

{
    "name":"john",
    "age":"21"
    "favcolor":"red"
}

假设{db}或其他东西检索favcolor并且不是person类的属性。有可能做这样的事吗?

1 个答案:

答案 0 :(得分:1)

从REST客户端的角度来看,构建Resource Representsenation的方式并不重要。如果您使用JAX-RS,Jersey和JAXB,建议的方法是使用@XmlRootElement注释的类与返回的Resource Representsenation匹配。

我的例子就是这样:

@XmlRootElement
class Person {
  private String name;
  private String age;
  private String favcolor;

  // Constuctor, Getter, Setter
}

这个序列化为JSON的类不一定是从某个后端检索的类。

答案:我无法理解,也不建议您按照自己的要求行事。