Java Jackson 多态序列化生成了错误的类名。

bluesky1年前 ⋅ 178 阅读

ChatGPT的回答仅作参考:

Java Jackson 多态序列化时,如果没有正确配置,可能会生成错误的类名。这是因为 Jackson 默认使用类的简单名称来表示类名,而简单名称可能会与其他类的简单名称重复,导致生成错误的类名。

为了解决这个问题,可以使用 Jackson 的 @JsonTypeInfo 注解来指定类名的生成方式。具体来说,可以使用 @JsonTypeInfo 注解的 use 属性来指定类名的生成方式,例如:

```
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
```

这里使用了 NAME 方式来生成类名,同时指定了一个名为 "type" 的属性来存储类名。这样就可以避免生成错误的类名了。

全部评论: 0

    相关推荐