Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jackson序列化程序限制第三方类的深度_Java_Json_Jackson_Serialization_Fasterxml - Fatal编程技术网

Java Jackson序列化程序限制第三方类的深度

Java Jackson序列化程序限制第三方类的深度,java,json,jackson,serialization,fasterxml,Java,Json,Jackson,Serialization,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

是否有一种方法通过配置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”:,“z”:5.4}

C类的序列化仅限于深度2:
C:{“b”:{“a”:,“y”:“string”},“z”:5.4}

C类的序列化仅限于深度3:
你能举个例子吗?如何指定“深度”限制?按包裹名称?按嵌套级别?怎样?