gpt4 book ai didi

java - 避免 Jackson 中 JsonTypeInfo 生成的重复字段

转载 作者:搜寻专家 更新时间:2023-11-01 03:56:33 25 4
gpt4 key购买 nike

我正在使用 Jackson Databind 2.7.2,我在接口(interface)上有以下注释:

@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = SubType1.class, name = "SubType1"),
@JsonSubTypes.Type(value = SubType2.class, name = "SubType2")})
public interface Common {
String getType();
}

getTypeSubType1SubType2 中被覆盖(实现)。问题在于,当 SubType1SubType2 的实例映射到 JSON 时,它包含两个名为 type 的字段,它们具有相同的值:

{
"type" : "SubType1",
... // Other properties
"type" : "SubType1"
}

如何防止 jackson 呈现重复字段?

最佳答案

如果有人碰巧遇到这个错误,可以通过更改默认的include属性来解决

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

Jackson 默认使用 JsonTypeInfo.As.PROPERTY

引用:https://fasterxml.github.io/jackson-annotations/javadoc/2.4/com/fasterxml/jackson/annotation/JsonTypeInfo.As.html

关于java - 避免 Jackson 中 JsonTypeInfo 生成的重复字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35845415/

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