Java Jackson:JsonIdentityInfo只序列化一个子元素的深度

Java Jackson:JsonIdentityInfo只序列化一个子元素的深度,java,java-8,jackson,jackson2,Java,Java 8,Jackson,Jackson2,出于某种原因,JsonIdentityInfo序列化一个子项的深度,而不是另一个子项的深度。我的例子是: @JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "id") class A { private long id; private B last; // Getters, setters... } @JsonIdentityInfo(generator

出于某种原因,JsonIdentityInfo序列化一个子项的深度,而不是另一个子项的深度。我的例子是:

@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "id")
class A {
  private long id;
  private B last;

  // Getters, setters...
}

@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "id")
class B {
  private long id;
  private A a;
  private C c1;
  private C c2;

  // Getters, setters...
}

@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "id")
class C {
  private long id;
  private Set<A> as;
  private B last;

  // Getters, setters...
}
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class,property=“id”)
甲级{
私人长id;
二等兵B末;
//能手,二传手。。。
}
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class,property=“id”)
B类{
私人长id;
私人A;
私人c1;
私人c2;
//能手,二传手。。。
}
@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class,property=“id”)
C类{
私人长id;
私人设置为;
二等兵B末;
//能手,二传手。。。
}
I序列化对象
B
它将子对象
A
序列化到某个深度,将
c1
序列化到几个深度。但是
c2
仅获取参考


我想要
A;c1;c2仅序列化到第一个深度,或者也包括
c2
,而不考虑深度。

只需在类
B
中的属性
c1
c2
上使用
注释即可。i、 e

@JsonIdentityInfo(generator = 
ObjectIdGenerators.IntSequenceGenerator.class, property = "id")

class B {
  private long id;
  private A a;
  @JsonUnwrapped
  private C c1;
  @JsonUnwrapped
  private C c2;

  // Getters, setters...
}