【问题标题】:Solving circular reference解决循环引用
【发布时间】:2017-05-01 21:43:33
【问题描述】:

我有两节课

A类有

private B messageOwner;

B 级有

@JsonIgnore
private List<A> messages = new ArrayList<>();

现在,当我想将 A 类作为 json 发送时,我希望它还包含有关 B 类的信息(没有列表)

但使用它会完全省略 B 类。我尝试使用@JsonManagedReference,@JsonBackReference,但结果是一样的。

解决这个循环引用的正确方法是什么?

【问题讨论】:

  • 向我们展示您的代码
  • 我看不出这是循环引用的问题,除非你说它在没有消息列表的情况下也能工作。 messageOwner 关系的值是多少,你是怎么读到 A 和 B 的?

标签: java json spring eclipselink circular-reference


【解决方案1】:
@Transient
private B messageOwner;

这对 JSON 序列化的作用与 transient 类型修饰符对正常序列化的作用相同。如果 JSON 库支持。

当然messageOwner在反序列化后会为空。

【讨论】:

  • 我忘了说那些类是实体类
  • 那我不敢提点什么。一个提示:为了便于理解您的问题,请添加您想要的 JSON 文本类型。至少读得太快了。
猜你喜欢
  • 1970-01-01
  • 2011-10-19
  • 1970-01-01
  • 1970-01-01
  • 2011-02-13
  • 1970-01-01
  • 1970-01-01
  • 2011-05-15
  • 1970-01-01
相关资源
最近更新 更多