gpt4 book ai didi

java - Jackson 中的多态反序列化基于整数,而不是字符串

转载 作者:太空宇宙 更新时间:2023-11-04 07:29:24 26 4
gpt4 key购买 nike

通常,当使用 Jackson 进行多态反序列化时,我有一个映射到类的字符串字段,并且可以这样做。

@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "methodName")
@JsonSubTypes({
@JsonSubTypes.Type(value = MyFirstClass.class, name = "firstClassName"),
@JsonSubTypes.Type(value = MySecondClass.class, name = "secondClassName")})

如果该值是整数而不是字符串,我找不到任何简单的示例来说明如何执行此操作。例如,如果我的 JSON 包含“methodName”:1,而不是“methodName”:“firstClassName”,我将如何选择要反序列化到哪个类?

最佳答案

没有“简单”的方法可以做到这一点。您必须编写自己的序列化机制实现,以及反序列化机制的实现。这种实现的危险如此之多,因此您最好只引用您的 typeinfo 属性并将其用作字符串。

关于java - Jackson 中的多态反序列化基于整数,而不是字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17978457/

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