有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案