是否存在通过配置Jackson ObjectMapper或定义混合来限制序列化嵌套深度的方法?我需要能够对第三方类强制实施此限制,这意味着我无法修改类定义。此外,限制必须是通用的,适用于所有类别。
我正在使用com.fasterxml.jackson.core,版本2.8.6
限制嵌套深度的示例:
考虑A,B和C类:
class A{
int x = 5;
}
class B{
A a = new A();
String y = "string";
}
class C{
B b = new B();
double z = 5.4;
}
C级序列化限制为深度1:
C:{"b":<max_serialization_depth>, "z":5.4}
限制为深度2的C类序列化:
C:{"b":{"a":<max_serialization_depth>, "y":"string"}, "z":5.4}
C级序列化限制为深度3:
C:{"b":{"a":{"x":5}, "y":"string"}, "z":5.4}