Java 如何从struts json的序列化过程中排除基类

Java 如何从struts json的序列化过程中排除基类,java,json,inheritance,serialization,struts2,Java,Json,Inheritance,Serialization,Struts2,我可以通过以下方式将属性序列化到基类(2级) public class BaseRoot{ String prop1; //getter and setter } public class SubClass extends BaseRoot{ String prop2; //getter and setter } public class ActionClass extends SubClass{ String prop3; //getter and setter } 在struts

我可以通过以下方式将属性序列化到基类(2级)

public class BaseRoot{
 String prop1; //getter and setter
}

public class SubClass extends BaseRoot{
 String prop2; //getter and setter
}

public class ActionClass extends SubClass{
 String prop3; //getter and setter
}
在struts json中,我可以使用

<result type="json">
 <param name="ignoreHierarchy">false</param> //This will allow parent to be serializable
 <param name="excludeProperties">price,description</param> //Exclude parameters
</result>

false//这将允许父级可序列化
价格,说明//排除参数

但我只想序列化类ActionClass和SubClass。我不想序列化BaseRoot和其他由BaseRoot类扩展的类。我知道我可以排除属性。但是我想从序列化中排除整个类。

使用默认功能无法做到这一点

您需要编写自己的结果类型,或者可能是序列化程序,您可以将其插入到现有的或新的结果类型中,但不确定哪种更容易

这就是说,我觉得这方面的设计/需求有点粗略——也许你想要一个演示者、装饰者、门面等等,而不是试图在具体的类周围进行黑客攻击