Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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 强制转换对象以限制序列化中序列化的数据_Java_Kotlin_Jackson_Jackson Databind - Fatal编程技术网

Java 强制转换对象以限制序列化中序列化的数据

Java 强制转换对象以限制序列化中序列化的数据,java,kotlin,jackson,jackson-databind,Java,Kotlin,Jackson,Jackson Databind,假设我有以下课程: @JsonTypeInfo( use=JsonTypeInfo.Id.NAME, include=JsonTypeInfo.As.EXISTING_属性, property=“type”, 可见=真 ) @JsonSubTypes( JsonSubTypes.Type(FullXResult::class,name=“X”) ) 开放类BaseResult{ 受保护的val映射器:ObjectMapper=ObjectMapper() var x:String=“所有子类之间

假设我有以下课程:

@JsonTypeInfo(
use=JsonTypeInfo.Id.NAME,
include=JsonTypeInfo.As.EXISTING_属性,
property=“type”,
可见=真
)
@JsonSubTypes(
JsonSubTypes.Type(FullXResult::class,name=“X”)
)
开放类BaseResult{
受保护的val映射器:ObjectMapper=ObjectMapper()
var x:String=“所有子类之间的一些共享文本”
}
开放类minimaxResult:BaseResult(){
var y:String=“某些特定于X的公共文本”
}
类FullXResult:MinimalXResult(){
var z:String=“某些特定于X的私有文本”
乐趣asMinimal():minimaxresult{
返回mapper.convertValue(这是MinimalXResult::class.java)
}
}
我希望能够将JSON反序列化为FullResult,在重新序列化之前,将其转换为调用方的最小结果,这样对于示例类,属性
x
y
是序列化的,而属性
z
不是
@JsonIgnore
在这里不是一个选项,因为我还希望能够在某些条件下返回完整的结果

调用
asMinimal
函数时,出现以下错误:

Could not resolve type id 'X' as a subtype of `MinimalXResult`: Class `FullXResult` not subtype of `MinimalXResult`

如果这种类型的铸造可以在没有杰克逊的情况下完成,那也很好。谢谢您的帮助。

这能回答您的问题吗?JsonViews可能是另一个选项: