java Jackson序列化程序限制第三方类的深度
有没有一种方法可以通过配置Jackson ObjectMapper或定义混入来限制的序列化嵌套深度?我需要能够对第三方类施加这个限制,这意味着我不能修改类定义。此外,限制必须是通用的,适用于所有类别
我在用com。fasterxml。杰克逊。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}
C类的序列化仅限于深度2:
C:{"b":{"a":<max_serialization_depth>, "y":"string"}, "z":5.4}
C类的序列化仅限于深度3:
C:{"b":{"a":{"x":5}, "y":"string"}, "z":5.4}
共 (0) 个答案