Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java json回复的jersey和其他数据,无需修改实体类_Java_Json_Jersey - Fatal编程技术网

Java json回复的jersey和其他数据,无需修改实体类

Java json回复的jersey和其他数据,无需修改实体类,java,json,jersey,Java,Json,Jersey,假设我有一个person类,只有两个属性,name和age。我使用jersey的json回复会给我类似的东西 { "name":"john", "age":"21" } 有没有一种方法可以在不修改实体本身的情况下将附加信息添加到json回复中。如果我希望得到的答复是: { "name":"john", "age":"21" "favcolor":"red" } 比如说,favcolor是从数据库或其他地方检索的,不是person类的属性。可以这样做吗?

假设我有一个
person
类,只有两个属性,
name
age
。我使用
jersey
的json回复会给我类似的东西

{
    "name":"john",
    "age":"21"
}
有没有一种方法可以在不修改实体本身的情况下将附加信息添加到json回复中。如果我希望得到的答复是:

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

比如说,
favcolor
是从数据库或其他地方检索的,不是
person
类的属性。可以这样做吗?

从REST客户机的角度来看,如何构建资源表示并不重要。如果使用JAX-RS、Jersey和JAXB,建议使用
@XmlRootElement
注释的类与返回的资源表示匹配

我举一个例子,这是这样的:

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

  // Constuctor, Getter, Setter
}
这个序列化为JSON的类不一定是从某个后端检索到的同一个类


回答:我不知道有什么办法,我也不建议按照你的要求去做。

泽西岛没有响应生成器或something@LionelKohA生成HTTP响应(状态、标题),但不生成内容。内容是由一个用户创建的。构建响应主体的最简单方法是使用JAXB注释类,就像我上面所画的那样。您可以继承exist person类,并添加其他属性。