gpt4 book ai didi

java - JSONTypeInfo 不忽略继承映射中的属性

转载 作者:行者123 更新时间:2023-11-30 08:37:41 25 4
gpt4 key购买 nike

我正在使用以下依赖项进行 JSON 序列化/反序列化

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.7.4</version>
</dependency>

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.7.4</version>
</dependency>

我有继承映射。

以下是类。

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "isOne")
@JsonSubTypes({ @Type(value = One.class, name = "true"), @Type(value = Two.class, name = "false") })
public class Parent extends AbstractValueObject {
private Boolean isOne;
}

我们有两个子类 OneTwoParent 扩展。

当我在属性 isOne 的帮助下序列化/反序列化时,此映射有效。

问题是在将 JSON 转换为类 jackson 时删除属性 isOne。有什么方法不会删除该属性。它不推荐任何虚拟属性,只要我能拥有实际属性即可。

最佳答案

根据 JsonTypeInfo 的文档你可以使用 visible=true

试试这个:

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "isOne", visible = true)

关于java - JSONTypeInfo 不忽略继承映射中的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37029014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com