【发布时间】:2021-06-25 23:11:37
【问题描述】:
我正在使用fastxml,并且我有两个具有“一对多”或“多对一”关系的对象。例如 Author 类和 Book 类,一个作者有很多本书,而一本书有一个作者。我能告诉fasterxml不要序列化书的作者吗,只有当书在作者的书集中时,但当书在自己身上时,序列化它。
作者类别:
public class Author{
public int id;
public string name;
@JsonManagedReference
public Set<Book> books;
}
书籍类:
public class Book{
public int id;
public string name;
@JsonBackReference
public Author author;
}
如果我只想获取作者,该设置就可以正常工作,因为书籍已经到位并且他们的作者属性没有被序列化,但是如果我只想序列化这本书,那么它的作者又不是被序列化序列化,因为“@JsonBackReference”注释。在上述情况下有什么解决方法吗?如果您没有理解我的意思,这里还有一些示例......
当我序列化一个 Autor 时:
{
id:3,
name: "Ivan Vazov"
books:[
{
id:5,
name: "Under the Yoke"
}
]
}
这就是我想要的。
当我序列化一本书时:
{
id:5,
name: "Under the Yoke"
}
但我不想要这个,我想要这个:
{
id:5,
name: "Under the Yoke",
author: {
id:3,
name: "Ivan Vazov"
}
}
关于此事的任何想法都会很棒!谢谢。
【问题讨论】:
标签: json spring hibernate serialization fasterxml