【发布时间】:2016-05-02 20:23:20
【问题描述】:
考虑以下示例:
class P {
int p = 0;
public int getP() { return p; }
public void setP(int p) { this.p = p; }
}
class C extends P {
int c = 0;
public int getC() { return c; }
public void setC(int c) { this.c = c; }
}
@GET
@Path("test")
@Produces(MediaType.APPLICATION_JSON)
public P testIt() {
C c = new C();
c.setP(2);
P p = c;
//p.setC(3) or p.getC() would produce error, expectedly
return p;
}
我希望我的输出只是基类中的字段,但我也得到子字段。 示例的输出是:
{ "p":2, "c":0 }
虽然我希望它只是:
{ "p":2 }
现在我看到了关于我想要的行为和需要的行为的帖子,并且没有看到与我的类似的单个问题报告。这对我来说看起来像是错误而不是错误配置。
任何想法我可能做错了什么或任何建议?如果有人需要一些相关信息,请问。提前致谢!
我的球衣版本是 2.22.1。 我的杰克逊版本是 2.5.4。
编辑:
我尝试过使用其他版本的 jackson,在 2.2.3 和 2.7.0 中的行为是相同的。
【问题讨论】:
标签: java json serialization jersey jackson