杰克逊序列化器限制第三方课程的深度

时间:2017-03-15 16:14:19

标签: java json jackson serializer fasterxml

是否存在通过配置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}

0 个答案:

没有答案