我有以下类构造创建循环依赖项。通常,Jackson
库应该能够处理这些循环依赖。
我正在寻找一种不必在每个具有圆形性的类上使用注释的方法,但不知何故通常在ObjectMapper
中配置它。
@JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id")
abstract class Shape;
class Line extends Shape {
//a line can only connect 2 circles
Circle from, to;
}
class Circle extends Shape {
// a circle can have many lines connected
List<Line> lines;
}
然后我序列化一个列表,其中包含circles
和lines
:
List<Shape> shapes;
ObjectMapper om = new ObjectMapper().setDefaultTyping();
可以在mapper上全局配置id生成吗?
答案 0 :(得分:1)
没有。由于不是所有类型都可以有id(只有POJO类型,即Collection
s,Map
和数组都没有出现),并且因为细节可能会有所不同,所以没有“默认id”设置不同于类型ids。